- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPopupMenu
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
,MenuElement
- 已知直接子类:
-
BasicComboPopup
@JavaBean(defaultProperty="UI", description="A small window that pops up and displays a series of choices.") public class JPopupMenu extends JComponent implements Accessible, MenuElement
弹出菜单的一个实现 - 弹出一个小窗口并显示一系列选择。 AJPopupMenu
用于当用户选择菜单栏上的项目时出现的菜单。 它也用于当选择激活它的菜单项时出现的“拉右”菜单。 最后,一个JPopupMenu
也可以在任何你想要菜单出现的地方使用。 例如,当用户在指定区域中右键单击时。有关使用弹出菜单的信息和示例,请参阅Java教程中的 How to Use Menus 。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有JavaBeans的长期存储支持已被添加到
java.beans
软件包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JPopupMenu.AccessibleJPopupMenu
这个类实现JPopupMenu
类的可访问性支持。static class
JPopupMenu.Separator
弹出菜单特定的分隔符。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
构造方法摘要
构造方法 Constructor 描述 JPopupMenu()
构造一个JPopupMenu
而没有“调用者”。JPopupMenu(String label)
构造具有指定标题的JPopupMenu
。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 JMenuItem
add(String s)
创建一个带有指定文本的新菜单项,并将其附加到此菜单的末尾。JMenuItem
add(Action a)
在菜单末尾添加一个新的菜单项,该菜单将调度指定的Action
对象。JMenuItem
add(JMenuItem menuItem)
将指定的菜单项追加到此菜单的末尾。void
addMenuKeyListener(MenuKeyListener l)
在弹出菜单中添加一个MenuKeyListener
。void
addPopupMenuListener(PopupMenuListener l)
添加一个PopupMenu
监听器。void
addSeparator()
在菜单末尾附加一个新的分隔符。protected PropertyChangeListener
createActionChangeListener(JMenuItem b)
返回正确配置的PropertyChangeListener
,更新控件,因为发生Action
更改。protected JMenuItem
createActionComponent(Action a)
工厂方法创建JMenuItem
为Actions
添加到JPopupMenu
。protected void
firePopupMenuCanceled()
通知PopupMenuListeners
该弹出菜单被取消。protected void
firePopupMenuWillBecomeInvisible()
通知PopupMenuListener
s这个弹出菜单将变得不可见。protected void
firePopupMenuWillBecomeVisible()
通知PopupMenuListener
s这个弹出菜单将变得可见。AccessibleContext
getAccessibleContext()
获取与此JPopupMenu关联的AccessibleContext。Component
getComponent()
返回此JPopupMenu
组件。Component
getComponentAtIndex(int i)
已过时。int
getComponentIndex(Component c)
返回指定组件的索引。static boolean
getDefaultLightWeightPopupEnabled()
获取defaultLightWeightPopupEnabled
属性,默认为true
。Component
getInvoker()
返回该弹出菜单的“调用者”组件。String
getLabel()
返回弹出菜单的标签Insets
getMargin()
返回弹出菜单的边框和容器之间的边距(以像素为单位)。MenuKeyListener[]
getMenuKeyListeners()
返回使用addMenuKeyListener()添加到此JPopupMenu的所有MenuKeyListener
的数组。PopupMenuListener[]
getPopupMenuListeners()
返回使用addPopupMenuListener()添加到此JMenuItem中的所有PopupMenuListener
的数组。SingleSelectionModel
getSelectionModel()
返回处理单个选择的模型对象。MenuElement[]
getSubElements()
返回一个MenuElement
的数组,包含此菜单组件的子菜单。PopupMenuUI
getUI()
返回渲染此组件的外观和感觉(L&F)对象。String
getUIClassID()
返回呈现此组件的L&F类的名称。void
insert(Component component, int index)
将指定的组件插入到给定位置的菜单中。void
insert(Action a, int index)
在给定位置插入指定的Action
对象的菜单项。boolean
isBorderPainted()
检查边框是否应该涂漆。boolean
isLightWeightPopupEnabled()
获取lightWeightPopupEnabled
属性。boolean
isPopupTrigger(MouseEvent e)
如果MouseEvent
被JPopupMenu
当前安装的UI视为弹出式触发器,则返回true。boolean
isVisible()
如果弹出菜单可见(正在显示),则返回true。void
menuSelectionChanged(boolean isIncluded)
当菜单选择更改以激活或停用此菜单时发生消息。void
pack()
放出容器,使其使用显示其内容所需的最小空间。protected void
paintBorder(Graphics g)
如果borderPainted
属性为true
绘制弹出菜单的边框。protected String
paramString()
返回此JPopupMenu
的字符串表示JPopupMenu
。protected void
processFocusEvent(FocusEvent evt)
通过将这些事件发送到任何已注册的FocusListener
对象来处理发生在该组件上的焦点事件。protected void
processKeyEvent(KeyEvent evt)
处理关键笔划事件,如助记符和加速器。void
processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
处理从MenuSelectionManager
转发的密钥事件,并根据需要通过使用MenuSelectionManager
的API更改菜单选择。void
processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
这种方法是符合MenuElement
接口所必需的,但没有实现。void
remove(int pos)
从该弹出菜单中删除指定索引处的组件。void
removeMenuKeyListener(MenuKeyListener l)
从弹出式菜单中移除MenuKeyListener
。void
removePopupMenuListener(PopupMenuListener l)
删除一个PopupMenu
监听器。void
setBorderPainted(boolean b)
设置是否应绘制边框。static void
setDefaultLightWeightPopupEnabled(boolean aFlag)
设置lightWeightPopupEnabled
属性的默认值。void
setInvoker(Component invoker)
设置此弹出菜单的调用者 - 要显示弹出菜单菜单的组件。void
setLabel(String label)
设置弹出菜单的标签。void
setLightWeightPopupEnabled(boolean aFlag)
设置lightWeightPopupEnabled
属性的值,默认值为true
。void
setLocation(int x, int y)
使用x,y坐标设置弹出菜单左上角的位置。void
setPopupSize(int width, int height)
将Popup窗口的大小设置为指定的宽度和高度。void
setPopupSize(Dimension d)
使用Dimension
对象设置弹出窗口的大小。void
setSelected(Component sel)
设置当前选择的组件,这将导致选择模型的更改。void
setSelectionModel(SingleSelectionModel model)
设置模型对象以处理单个选择。void
setUI(PopupMenuUI ui)
设置渲染此组件的L&F对象。void
setVisible(boolean b)
设置弹出菜单的可见性。void
show(Component invoker, int x, int y)
在组件调用者的坐标空间中的位置x,y处显示弹出式菜单。void
updateUI()
将UI属性重置为当前外观的值。-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
-
-
-
-
构造方法详细信息
-
JPopupMenu
public JPopupMenu()
构造一个没有“调用者”的JPopupMenu
。
-
JPopupMenu
public JPopupMenu(String label)
构造具有指定标题的JPopupMenu
。- 参数
-
label
- UI可能用于显示为弹出菜单的标题的字符串。
-
-
方法详细信息
-
setDefaultLightWeightPopupEnabled
public static void setDefaultLightWeightPopupEnabled(boolean aFlag)
设置lightWeightPopupEnabled
属性的默认值。- 参数
-
aFlag
-true
如果弹出窗口可以轻量化,否则为false
- 另请参见:
-
getDefaultLightWeightPopupEnabled()
,setLightWeightPopupEnabled(boolean)
-
getDefaultLightWeightPopupEnabled
public static boolean getDefaultLightWeightPopupEnabled()
获取defaultLightWeightPopupEnabled
属性,默认为true
。- 结果
-
的价值
defaultLightWeightPopupEnabled
属性 - 另请参见:
-
setDefaultLightWeightPopupEnabled(boolean)
-
getUI
public PopupMenuUI getUI()
返回渲染此组件的外观和感觉(L&F)对象。- 重写:
-
getUI
在JComponent
- 结果
-
呈现此组件的
PopupMenuUI
对象
-
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(PopupMenuUI ui)
设置渲染此组件的L&F对象。- 参数
-
ui
- 新的PopupMenuUI
L&F对象 - 另请参见:
-
UIDefaults.getUI(javax.swing.JComponent)
-
updateUI
public void updateUI()
将UI属性重置为当前外观的值。- 重写:
-
updateUI
在JComponent
- 另请参见:
-
JComponent.updateUI()
-
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
返回呈现此组件的L&F类的名称。- 重写:
-
getUIClassID
JComponent
- 结果
- 字符串“PopupMenuUI”
- 另请参见:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
processFocusEvent
protected void processFocusEvent(FocusEvent evt)
描述从类复制:Component
通过将这些事件发送到任何已注册的FocusListener
对象来处理发生在该组件上的焦点事件。除非为此组件启用聚焦事件,否则不会调用此方法。 当以下情况发生时,聚焦事件将被启用:
- A
FocusListener
对象通过addFocusListener
注册。 - 焦点事件通过
enableEvents
启用。
如果对
Component
启用了焦点事件,则当前的KeyboardFocusManager
确定是否应将焦点事件分派到已注册的对象FocusListener
。 如果要发送事件,KeyboardFocusManager
调用Component
的dispatchEvent
方法,这将调用Component
的processFocusEvent
方法。如果
Component
启用了焦点事件,则使用FocusEvent
作为参数调用Component
的dispatchEvent
方法将导致调用Component
的processFocusEvent
方法,无论当前的KeyboardFocusManager
。请注意,如果事件参数为
null
该行为未指定,并可能导致异常。 - A
-
processKeyEvent
protected void processKeyEvent(KeyEvent evt)
处理关键笔划事件,如助记符和加速器。- 重写:
-
processKeyEvent
在JComponent
- 参数
-
evt
- 要处理的关键事件 - 另请参见:
-
KeyEvent
,KeyListener
,KeyboardFocusManager
,DefaultKeyboardFocusManager
,Component.processEvent(java.awt.AWTEvent)
,Component.dispatchEvent(java.awt.AWTEvent)
,Component.addKeyListener(java.awt.event.KeyListener)
,Component.enableEvents(long)
,Component.isShowing()
-
getSelectionModel
public SingleSelectionModel getSelectionModel()
返回处理单个选择的模型对象。- 结果
-
selectionModel
属性 - 另请参见:
-
SingleSelectionModel
-
setSelectionModel
@BeanProperty(bound=false, expert=true, description="The selection model for the popup menu") public void setSelectionModel(SingleSelectionModel model)
设置模型对象以处理单个选择。- 参数
-
model
- 新的SingleSelectionModel
- 另请参见:
-
SingleSelectionModel
-
add
public JMenuItem add(JMenuItem menuItem)
将指定的菜单项追加到此菜单的末尾。- 参数
-
menuItem
- 要添加的JMenuItem
- 结果
-
JMenuItem
加了
-
add
public JMenuItem add(String s)
创建一个带有指定文本的新菜单项,并将其附加到此菜单的末尾。- 参数
-
s
- 要添加的菜单项的字符串 - 结果
-
一个新的
JMenuItem
创建使用s
-
add
public JMenuItem add(Action a)
在菜单的末尾附加一个新菜单项,该菜单将分派指定的Action
对象。- 参数
-
a
- 要添加到菜单中的Action
- 结果
- 新的菜单项
- 另请参见:
-
Action
-
createActionComponent
protected JMenuItem createActionComponent(Action a)
工厂方法创建JMenuItem
为Actions
添加到JPopupMenu
。- 参数
-
a
- 要添加的菜单项的Action
- 结果
- 新的菜单项
- 从以下版本开始:
- 1.3
- 另请参见:
-
Action
-
createActionChangeListener
protected PropertyChangeListener createActionChangeListener(JMenuItem b)
返回正确配置的PropertyChangeListener
,更新控件,因为发生Action
更改。- 参数
-
b
- 为其创建侦听器的菜单项 - 结果
-
一个正确配置的
PropertyChangeListener
-
remove
public void remove(int pos)
从该弹出菜单中删除指定索引处的组件。- 重写:
-
remove
在Container
- 参数
-
pos
- 要删除的项目的位置 - 异常
-
IllegalArgumentException
- 如果值为pos
<0,或者如果值为pos
大于项数 - 另请参见:
-
Container.add(java.awt.Component)
,Container.invalidate()
,Container.validate()
,Container.getComponentCount()
-
setLightWeightPopupEnabled
@BeanProperty(bound=false, expert=true, description="Determines whether lightweight popups are used when possible") public void setLightWeightPopupEnabled(boolean aFlag)
设置lightWeightPopupEnabled
属性的值,默认值为true
。 默认情况下,当外观显示弹出窗口时,可以选择使用轻量级(全Java)弹出窗口。 轻量级弹出窗口比重量级(本机对等体)窗口更有效,但轻量级和重量级组件在GUI中不能很好地混合。 如果您的应用程序混合轻量级和重量级组件,则应禁用轻量级弹出窗口。 一些看起来和感觉可能总是使用重量级的弹出窗口,无论这个属性的价值。- 参数
-
aFlag
-false
以禁用轻量级弹出窗口 - 另请参见:
-
isLightWeightPopupEnabled()
-
isLightWeightPopupEnabled
public boolean isLightWeightPopupEnabled()
获取lightWeightPopupEnabled
属性。- 结果
-
的价值
lightWeightPopupEnabled
属性 - 另请参见:
-
setLightWeightPopupEnabled(boolean)
-
getLabel
public String getLabel()
返回弹出菜单的标签- 结果
- 一个包含弹出菜单标签的字符串
- 另请参见:
-
setLabel(java.lang.String)
-
setLabel
@BeanProperty(description="The label for the popup menu.") public void setLabel(String label)
设置弹出菜单的标签。 不同的外观和感觉可能会选择显示或不显示。- 参数
-
label
- 指定弹出菜单标签的字符串 - 另请参见:
-
setLabel(java.lang.String)
-
addSeparator
public void addSeparator()
在菜单末尾附加一个新的分隔符。
-
insert
public void insert(Action a, int index)
在给定位置插入指定的Action
对象的菜单项。- 参数
-
a
- 要插入的Action
对象 -
index
- 指定要插入的位置Action
,其中0是第一个 - 异常
-
IllegalArgumentException
- 如果index
<0 - 另请参见:
-
Action
-
insert
public void insert(Component component, int index)
将指定的组件插入到给定位置的菜单中。- 参数
-
component
- 要插入的Component
-
index
- 指定插入组件的位置,其中0是第一个 - 异常
-
IllegalArgumentException
- 如果index
<0
-
addPopupMenuListener
public void addPopupMenuListener(PopupMenuListener l)
添加一个PopupMenu
监听器。- 参数
-
l
- 要添加的PopupMenuListener
-
removePopupMenuListener
public void removePopupMenuListener(PopupMenuListener l)
删除一个PopupMenu
监听器。- 参数
-
l
- 要删除的PopupMenuListener
-
getPopupMenuListeners
@BeanProperty(bound=false) public PopupMenuListener[] getPopupMenuListeners()
返回使用addPopupMenuListener()添加到此JMenuItem的所有PopupMenuListener
的数组。- 结果
-
添加了所有
PopupMenuListener
s,如果没有添加任何侦听器,则添加一个空数组 - 从以下版本开始:
- 1.4
-
addMenuKeyListener
public void addMenuKeyListener(MenuKeyListener l)
在弹出菜单中添加一个MenuKeyListener
。- 参数
-
l
- 要添加的MenuKeyListener
- 从以下版本开始:
- 1.5
-
removeMenuKeyListener
public void removeMenuKeyListener(MenuKeyListener l)
从弹出式菜单中移除MenuKeyListener
。- 参数
-
l
- 要删除的MenuKeyListener
- 从以下版本开始:
- 1.5
-
getMenuKeyListeners
@BeanProperty(bound=false) public MenuKeyListener[] getMenuKeyListeners()
返回使用addMenuKeyListener()添加到此JPopupMenu的所有MenuKeyListener
的数组。- 结果
-
如果没有添加任何监听器,则添加所有
MenuKeyListener
s或一个空数组 - 从以下版本开始:
- 1.5
-
firePopupMenuWillBecomeVisible
protected void firePopupMenuWillBecomeVisible()
通知PopupMenuListener
s这个弹出菜单将变得可见。
-
firePopupMenuWillBecomeInvisible
protected void firePopupMenuWillBecomeInvisible()
通知PopupMenuListener
s这个弹出菜单将变得不可见。
-
firePopupMenuCanceled
protected void firePopupMenuCanceled()
通知PopupMenuListeners
该弹出菜单被取消。
-
pack
public void pack()
放出容器,使其使用显示其内容所需的最小空间。
-
setVisible
@BeanProperty(description="Makes the popup visible") public void setVisible(boolean b)
设置弹出菜单的可见性。- 重写:
-
setVisible
中的JComponent
- 参数
-
b
- 真的使弹出窗口可见,或者将其隐藏 - 另请参见:
-
Component.isVisible()
,Component.invalidate()
-
isVisible
public boolean isVisible()
如果弹出菜单可见(正在显示),则返回true。- 重写:
-
isVisible
在Component
- 结果
-
true
如果组件是可见的,false
否则 - 另请参见:
-
Component.setVisible(boolean)
-
setLocation
@BeanProperty(description="The location of the popup menu.") public void setLocation(int x, int y)
使用x,y坐标设置弹出菜单左上角的位置。该方法更改几何相关数据。 因此,本机窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,使得
JPopupMenu
对象被放置并且以与桌面设置紧密对应的方式被JPopupMenu
。- 重写:
-
setLocation
在Component
- 参数
-
x
- 弹出窗口在坐标空间中的新位置的x坐标 -
y
- 弹出窗口在坐标空间中的新位置的y坐标 - 另请参见:
-
Component.getLocation()
,Component.setBounds(int, int, int, int)
,Component.invalidate()
-
getInvoker
public Component getInvoker()
返回该弹出菜单的“调用者”组件。- 结果
-
其中显示弹出菜单的
Component
-
setInvoker
@BeanProperty(bound=false, expert=true, description="The invoking component for the popup menu") public void setInvoker(Component invoker)
设置此弹出菜单的调用者 - 要显示弹出菜单菜单的组件。- 参数
-
invoker
- 其中显示弹出菜单的Component
-
show
public void show(Component invoker, int x, int y)
在组件调用者的坐标空间中的位置x,y处显示弹出式菜单。- 参数
-
invoker
- 弹出菜单要显示的空间中的组件 -
x
- 要显示弹出菜单的调用者坐标空间中的x坐标 -
y
- 要显示弹出菜单的调用者坐标空间中的y坐标
-
getComponentAtIndex
@Deprecated public Component getComponentAtIndex(int i)
已过时。 替换为Container.getComponent(int)
返回指定索引处的组件。- 参数
-
i
- 组件的索引,其中0是第一个 - 结果
-
该指数为
Component
-
getComponentIndex
public int getComponentIndex(Component c)
返回指定组件的索引。- 参数
-
c
- 要查找的Component
- 结果
- 组件的索引,其中0是第一个; 如果未找到组件,则为-1
-
setPopupSize
@BeanProperty(description="The size of the popup menu") public void setPopupSize(Dimension d)
使用Dimension
对象设置弹出窗口的大小。 这相当于setPreferredSize(d)
。- 参数
-
d
- 指定此组件的新大小的Dimension
。
-
setPopupSize
@BeanProperty(description="The size of the popup menu") public void setPopupSize(int width, int height)
将Popup窗口的大小设置为指定的宽度和高度。 这相当于setPreferredSize(new Dimension(width, height))
。- 参数
-
width
- 弹出width
的新宽度(以像素为单位) -
height
- 弹出height
的新高度,以像素为单位
-
setSelected
@BeanProperty(expert=true, hidden=true, description="The selected component on the popup menu") public void setSelected(Component sel)
设置当前选择的组件,这将导致选择模型的更改。- 参数
-
sel
- 要选择的Component
-
isBorderPainted
public boolean isBorderPainted()
检查边框是否应该涂漆。- 结果
- 如果边框被绘画,则为true,否则为false
- 另请参见:
-
setBorderPainted(boolean)
-
setBorderPainted
@BeanProperty(bound=false, description="Is the border of the popup menu painted") public void setBorderPainted(boolean b)
设置是否应绘制边框。- 参数
-
b
- 如果为true,则绘制边框。 - 另请参见:
-
isBorderPainted()
-
paintBorder
protected void paintBorder(Graphics g)
如果borderPainted
属性为true
绘制弹出菜单的边框。- 重写:
-
paintBorder
中的JComponent
- 参数
-
g
-Graphics
对象 - 另请参见:
-
JComponent.paint(java.awt.Graphics)
,JComponent.setBorder(javax.swing.border.Border)
-
getMargin
@BeanProperty(bound=false) public Insets getMargin()
返回弹出菜单的边框和容器之间的边距(以像素为单位)。- 结果
-
一个包含边距值的
Insets
对象。
-
paramString
protected String paramString()
返回此JPopupMenu
的字符串表示JPopupMenu
。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在JComponent
- 结果
-
这个
JPopupMenu
的字符串表示JPopupMenu
。
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
获取与此JPopupMenu关联的AccessibleContext。 对于JPopupMenus,AccessibleContext采用AccessibleJPopupMenu的形式。 如有必要,将创建一个新的AccessibleJPopupMenu实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Component
- 结果
- 一个AccessibleJPopupMenu作为这个JPopupMenu的AccessibleContext
-
processMouseEvent
public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
该方法是符合MenuElement
接口所必需的,但未实现。- Specified by:
-
processMouseEvent
在接口MenuElement
- 参数
-
event
- 要处理的MouseEvent
-
path
- 菜单层次结构中接收元素的路径 -
manager
- 菜单层次结构的MenuSelectionManager
- 另请参见:
-
MenuElement.processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)
-
processKeyEvent
public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
处理从MenuSelectionManager
转发的密钥事件,并根据需要更改菜单选择,使用MenuSelectionManager
的API。注意:您不必将事件转发到子组件。 这是由
MenuSelectionManager
自动完成的。- Specified by:
-
processKeyEvent
在接口MenuElement
- 参数
-
e
- aKeyEvent
-
path
-MenuElement
路径数组 -
manager
-MenuSelectionManager
-
menuSelectionChanged
public void menuSelectionChanged(boolean isIncluded)
当菜单选择更改以激活或停用此菜单时发生消息。 这实现了javax.swing.MenuElement
接口。 覆盖MenuElement.menuSelectionChanged
。- Specified by:
-
menuSelectionChanged
在接口MenuElement
- 参数
-
isIncluded
- 如果此菜单处于活动状态,isIncluded
true,否则为false - 另请参见:
-
MenuElement.menuSelectionChanged(boolean)
-
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
返回一个MenuElement
的数组,MenuElement
包含此菜单组件的子菜单。 它将只返回符合JMenuElement
接口的JMenuElement
。 如果弹出菜单是null
返回一个空数组。 该方法需要符合MenuElement
接口。- Specified by:
-
getSubElements
在接口MenuElement
- 结果
-
一个
MenuElement
对象的数组 - 另请参见:
-
MenuElement.getSubElements()
-
getComponent
public Component getComponent()
返回此JPopupMenu
组件。- Specified by:
-
getComponent
在接口MenuElement
- 结果
-
这个
JPopupMenu
对象 - 另请参见:
-
MenuElement.getComponent()
-
isPopupTrigger
public boolean isPopupTrigger(MouseEvent e)
如果MouseEvent
被JPopupMenu
当前安装的UI视为弹出式触发器,则返回true。- 参数
-
e
- aMouseEvent
- 结果
- 如果鼠标事件是弹出式触发器,则为true
- 从以下版本开始:
- 1.3
-
-