java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JPopupMenu
public class JPopupMenu
弹出菜单的实现,弹出菜单是一个可弹出并显示一系列选项的小窗口。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) 该工厂方法为添加到 JPopupMenu 的 Action 创建对应的 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 属性重置为一个来自当前外观的值。 |