JavaTM 2 Platform
Standard Ed. 6

javax.swing
类 JPopupMenu

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 javax.swing.JComponent
              继承者 javax.swing.JPopupMenu
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, MenuElement
直接已知子类:
BasicComboPopup

public class JPopupMenu
extends JComponent
implements Accessible, MenuElement

弹出菜单的实现,弹出菜单是一个可弹出并显示一系列选项的小窗口。JPopupMenu 用于用户在菜单栏上选择项时显示的菜单。它还用于当用户选择菜单项并激活它时显示的“右拉式 (pull-right)”菜单。最后,JPopupMenu 还可以在想让菜单显示的任何其他位置使用。例如,当用户在指定区域中右击时。

有关使用弹出菜单的示例和信息,请参阅 The Java Tutorial 中的 How to Use Menus

警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy

警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder


嵌套类摘要
protected  class JPopupMenu.AccessibleJPopupMenu
          此类实现 JPopupMenu 类的可访问性支持。
static class JPopupMenu.Separator
          弹出与菜单有关的分隔符。
 
从类 javax.swing.JComponent 继承的嵌套类/接口
JComponent.AccessibleJComponent
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
 
从类 javax.swing.JComponent 继承的字段
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
JPopupMenu()
          构造一个不带“调用者”的 JPopupMenu
JPopupMenu(String label)
          构造一个具有指定标题的 JPopupMenu
 
方法摘要
 JMenuItem add(Action a)
          将指派指定 Action 对象的新菜单项添加到菜单的末尾。
 JMenuItem add(JMenuItem menuItem)
          将指定菜单项添加到此菜单的末尾。
 JMenuItem add(String s)
          创建具有指定文本的菜单项,并将其添加到此菜单的末尾。
 void addMenuKeyListener(MenuKeyListener l)
          将 MenuKeyListener 添加到弹出菜单。
 void addPopupMenuListener(PopupMenuListener l)
          添加 PopupMenu 侦听器。
 void addSeparator()
          将新分隔符添加到菜单的末尾。
protected  PropertyChangeListener createActionChangeListener(JMenuItem b)
          返回一个正确配置的 PropertyChangeListener,它在 Action 发生更改时更新控件。
protected  JMenuItem createActionComponent(Action a)
          该工厂方法为添加到 JPopupMenuAction 创建对应的 JMenuItem
protected  void firePopupMenuCanceled()
          通知 PopupMenuListener 此弹出菜单将被取消。
protected  void firePopupMenuWillBecomeInvisible()
          通知 PopupMenuListener 此弹出菜单将变得不可见。
protected  void firePopupMenuWillBecomeVisible()
          通知 PopupMenuListener 此弹出菜单将变得可见。
 AccessibleContext getAccessibleContext()
          获取与此 JPopupMenu 关联的 AccessibleContext。
 Component getComponent()
          返回此 JPopupMenu 组件。
 Component getComponentAtIndex(int i)
          已过时。 Container.getComponent(int) 取代
 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(Action a, int index)
          在给定位置插入指定 Action 对象的菜单项。
 void insert(Component component, int index)
          将指定组件插入到菜单的给定位置。
 boolean isBorderPainted()
          检查是否应该绘制边框。
 boolean isLightWeightPopupEnabled()
          获取 lightWeightPopupEnabled 属性。
 boolean isPopupTrigger(MouseEvent e)
          如果 JPopupMenu 的当前安装 UI 将 MouseEvent 视为弹出菜单触发器,则返回 true。
 boolean isVisible()
          如果弹出菜单可见(当前显示的),则返回 true。
 void menuSelectionChanged(boolean isIncluded)
          当菜单栏选择发生更改以激活或取消激活此菜单时传递消息。
 void pack()
          布置容器,让它使用显示其内容所需的最小空间。
protected  void paintBorder(Graphics g)
          如果 borderPainted 属性为 true,则绘制弹出菜单的边框。
protected  String paramString()
          返回此 JPopupMenu 的字符串表示形式。
protected  void processFocusEvent(FocusEvent evt)
          处理组件上发生的焦点事件,方法是将其指派到任意已注册的 FocusListener 对象。
protected  void processKeyEvent(KeyEvent evt)
          处理快捷键事件,如助记符和加速器。
 void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
          如有必要,通过使用 MenuSelectionManager 的 API 处理从 MenuSelectionManager 转发的键事件并更改菜单选择。
 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(Dimension d)
          使用 Dimension 对象设置弹出窗口的大小。
 void setPopupSize(int width, int height)
          将弹出窗口的大小设置为指定的宽度和高度。
 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, 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, 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, transferFocusBackward, 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, 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, getPeer, 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, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

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) 对象。

返回:
呈现此组件的 PopupMenuUI 对象

setUI

public void setUI(PopupMenuUI ui)
设置呈现此组件的 L&F 对象。

参数:
ui - 新 PopupMenuUI L&F 对象
另请参见:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
将 UI 属性重置为一个来自当前外观的值。

覆盖:
JComponent 中的 updateUI
另请参见:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回用于呈现此组件的 L&F 类名。

覆盖:
JComponent 中的 getUIClassID
返回:
字符串 "PopupMenuUI"
另请参见:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

processFocusEvent

protected void processFocusEvent(FocusEvent evt)
从类 Component 复制的描述
处理组件上发生的焦点事件,方法是将其指派到任意已注册的 FocusListener 对象。

如果组件上没有启用焦点事件,则不调用此方法。发生下列之一时启用焦点事件:

如果为某个 Component 启用了焦点事件,则当前的 KeyboardFocusManager 确定是否应该将焦点事件指派到已注册的 FocusListener 对象。如果未指派事件,则 KeyboardFocusManager 调用 ComponentdispatchEvent 方法,此方法又调用 ComponentprocessFocusEvent 方法。

如果为 Component 启用了焦点事件,则用 FocusEvent 作为参数来调用 ComponentdispatchEvent 方法将导致调用 ComponentprocessFocusEvent 方法,而不管当前的 KeyboardFocusManager 如何。

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

覆盖:
Component 中的 processFocusEvent
参数:
evt - 焦点事件
另请参见:
FocusEvent, FocusListener, KeyboardFocusManager, Component.addFocusListener(java.awt.event.FocusListener), Component.enableEvents(long), Component.dispatchEvent(java.awt.AWTEvent)

processKeyEvent

protected void processKeyEvent(KeyEvent evt)
处理快捷键事件,如助记符和加速器。

覆盖:
JComponent 中的 processKeyEvent
参数:
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

public void setSelectionModel(SingleSelectionModel model)
设置处理单个选择的模型对象。

参数:
model - 新 SingleSelectionModel
另请参见:
SingleSelectionModel

add

public JMenuItem add(JMenuItem menuItem)
将指定菜单项添加到此菜单的末尾。

参数:
menuItem - 要添加的 JMenuItem
返回:
已添加的 JMenuItem

add

public JMenuItem add(String s)
创建具有指定文本的菜单项,并将其添加到此菜单的末尾。

参数:
s - 要添加的菜单项的字符串

add

public JMenuItem add(Action a)
将指派指定 Action 对象的新菜单项添加到菜单的末尾。

参数:
a - 要添加到菜单的 Action
返回:
新菜单项
另请参见:
Action

createActionComponent

protected JMenuItem createActionComponent(Action a)
该工厂方法为添加到 JPopupMenuAction 创建对应的 JMenuItem

参数:
a - 要添加的菜单项的 Action
返回:
新菜单项
从以下版本开始:
1.3
另请参见:
Action

createActionChangeListener

protected PropertyChangeListener createActionChangeListener(JMenuItem b)
返回一个正确配置的 PropertyChangeListener,它在 Action 发生更改时更新控件。


remove

public void remove(int pos)
从此弹出菜单移除指定索引处的组件。

覆盖:
Container 中的 remove
参数:
pos - 要移除的项的位置
抛出:
IllegalArgumentException - 如果 pos 的值 < 0 或者 pos 的值大于项数
另请参见:
Container.add(java.awt.Component), Container.validate(), Container.getComponentCount()

setLightWeightPopupEnabled

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

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

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

public MenuKeyListener[] getMenuKeyListeners()
返回利用 addMenuKeyListener() 添加到此 JPopupMenu 的所有 MenuKeyListener 组成的数组。

返回:
添加的所有 MenuKeyListener,如果没有添加侦听器,则返回一个空数组
从以下版本开始:
1.5

firePopupMenuWillBecomeVisible

protected void firePopupMenuWillBecomeVisible()
通知 PopupMenuListener 此弹出菜单将变得可见。


firePopupMenuWillBecomeInvisible

protected void firePopupMenuWillBecomeInvisible()
通知 PopupMenuListener 此弹出菜单将变得不可见。


firePopupMenuCanceled

protected void firePopupMenuCanceled()
通知 PopupMenuListener 此弹出菜单将被取消。


pack

public void pack()
布置容器,让它使用显示其内容所需的最小空间。


setVisible

public void setVisible(boolean b)
设置弹出菜单的可见性。

覆盖:
JComponent 中的 setVisible
参数:
b - 为 true 表示使弹出菜单可见,为 false 表示隐藏它
另请参见:
Component.isVisible()

isVisible

public boolean isVisible()
如果弹出菜单可见(当前显示的),则返回 true。

覆盖:
Component 中的 isVisible
返回:
如果组件是可见的,则返回 true;否则返回 false
另请参见:
Component.setVisible(boolean)

setLocation

public void setLocation(int x,
                        int y)
使用 X、Y 坐标设置弹出菜单的左上角的位置。

覆盖:
Component 中的 setLocation
参数:
x - 屏幕坐标空间中弹出菜单的新位置的 X 坐标
y - 屏幕坐标空间中弹出菜单的新位置的 Y 坐标
另请参见:
Component.getLocation(), Component.setBounds(int, int, int, int)

getInvoker

public Component getInvoker()
返回作为此弹出菜单的“调用者”的组件。

返回:
弹出菜单在其中显示的 Component

setInvoker

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

public void setPopupSize(Dimension d)
使用 Dimension 对象设置弹出窗口的大小。此操作等效于 setPreferredSize(d)

参数:
d - 指定此组件新的大小的 Dimension

setPopupSize

public void setPopupSize(int width,
                         int height)
将弹出窗口的大小设置为指定的宽度和高度。此操作等效于 setPreferredSize(new Dimension(width, height))

参数:
width - 弹出窗口的新宽度(以像素为单位)
height - 弹出窗口的新高度(以像素为单位)

setSelected

public void setSelected(Component sel)
设置当前选择的组件,此方法将更改选择模型。

参数:
sel - 要选择的 Component

isBorderPainted

public boolean isBorderPainted()
检查是否应该绘制边框。

返回:
如果绘制边框,则返回 true;否则返回 false
另请参见:
setBorderPainted(boolean)

setBorderPainted

public void setBorderPainted(boolean b)
设置是否应该绘制边框。

参数:
b - 如果为 true,则绘制边框。
另请参见:
isBorderPainted()

paintBorder

protected void paintBorder(Graphics g)
如果 borderPainted 属性为 true,则绘制弹出菜单的边框。

覆盖:
JComponent 中的 paintBorder
参数:
g - Graphics 对象
另请参见:
JComponent.paint(java.awt.Graphics), JComponent.setBorder(javax.swing.border.Border)

getMargin

public Insets getMargin()
返回弹出菜单的边框与其包含内容之间的空白(以像素表示)。

返回:
包含空白值的 Insets 对象。

paramString

protected String paramString()
返回此 JPopupMenu 的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

覆盖:
JComponent 中的 paramString
返回:
JPopupMenu 的字符串表示形式。

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 JPopupMenu 关联的 AccessibleContext。对于 JPopupMenus,AccessibleContext 采用 AccessibleJPopupMenu 的形式。必要时创建一个新的 AccessibleJPopupMenu 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
JComponent 中的 getAccessibleContext
返回:
一个 AccessibleJPopupMenu,它充当此 JPopupMenu 的 AccessibleContext

processMouseEvent

public void processMouseEvent(MouseEvent event,
                              MenuElement[] path,
                              MenuSelectionManager manager)
要求此方法遵守 MenuElement 接口,但它没有被实现。

指定者:
接口 MenuElement 中的 processMouseEvent
另请参见:
MenuElement.processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)

processKeyEvent

public void processKeyEvent(KeyEvent e,
                            MenuElement[] path,
                            MenuSelectionManager manager)
如有必要,通过使用 MenuSelectionManager 的 API 处理从 MenuSelectionManager 转发的键事件并更改菜单选择。

注:不必将事件转发到子组件。此操作可以通过 MenuSelectionManager 自动完成。

指定者:
接口 MenuElement 中的 processKeyEvent
参数:
e - KeyEvent
path - MenuElement 路径数组
manager - MenuSelectionManager

menuSelectionChanged

public void menuSelectionChanged(boolean isIncluded)
当菜单栏选择发生更改以激活或取消激活此菜单时传递消息。此操作实现 javax.swing.MenuElement 接口。重写 MenuElement.menuSelectionChanged

指定者:
接口 MenuElement 中的 menuSelectionChanged
参数:
isIncluded - 如果此菜单处于激活状态,则为 true;如果不是,则为 false
另请参见:
MenuElement.menuSelectionChanged(boolean)

getSubElements

public MenuElement[] getSubElements()
返回 MenuElement 组成的数组,包含此菜单组件的子菜单。它将只返回遵守 JMenuElement 接口的项。如果弹出菜单为 null,则返回空数组。要求此方法遵守 MenuElement 接口。

指定者:
接口 MenuElement 中的 getSubElements
返回:
MenuElement 对象的数组
另请参见:
MenuElement.getSubElements()

getComponent

public Component getComponent()
返回此 JPopupMenu 组件。

指定者:
接口 MenuElement 中的 getComponent
返回:
JPopupMenu 对象
另请参见:
MenuElement.getComponent()

isPopupTrigger

public boolean isPopupTrigger(MouseEvent e)
如果 JPopupMenu 的当前安装 UI 将 MouseEvent 视为弹出菜单触发器,则返回 true。

返回:
如果鼠标事件为弹出菜单触发器,则返回 true
从以下版本开始:
1.3

JavaTM 2 Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策