- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPopupMenu
-
- 实现的所有接口
-
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
弹出菜单的实现 - 弹出一个小窗口并显示一系列选项。JPopupMenu
用于当用户选择菜单栏上的项目时出现的菜单。 它还用于选择激活它的菜单项时出现的“右拉”菜单。 最后,JPopupMenu
也可用于您希望显示菜单的任何其他位置。 例如,当用户右键单击指定区域时。有关使用弹出菜单的信息和示例,请参阅The Java Tutorial中的 How to Use Menus 。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
JPopupMenu.AccessibleJPopupMenu
此类实现JPopupMenu
类的可访问性支持。static class
JPopupMenu.Separator
弹出菜单特定的分隔符。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
-
声明的属性在类 javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
声明的属性在类 java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 构造器 描述 JPopupMenu()
构造一个没有“调用者”的JPopupMenu
。JPopupMenu(String label)
构造具有指定标题的JPopupMenu
。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 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
此弹出菜单将变为可见。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
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)
将弹出窗口的大小设置为指定的宽度和高度。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属性重置为当前外观的值。-
声明方法的类 javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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
-
声明方法的类 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
-
声明方法的类 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, 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, hide, 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, processFocusEvent, 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
-
-
-
-
构造方法详细信息
-
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)
-
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
或空数组 - 从以下版本开始:
- 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
如果没有添加侦听器,则为空数组 - 从以下版本开始:
- 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
- true表示弹出窗口可见,或false表示隐藏弹出窗口 - 另请参见:
-
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
对象的大小。- 重写:
-
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)
Deprecated.replaced byContainer.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)
将弹出窗口的大小设置为指定的宽度和高度。 这相当于setPreferredSize(new Dimension(width, height))
。- 参数
-
width
- Popup的新宽度(以像素为单位) -
height
- Popup的新高度(以像素为单位)
-
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
的数组。 它只会返回符合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
-
-