java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.AbstractButton javax.swing.JMenuItem
public class JMenuItem
菜单中的项的实现。菜单项本质上是位于列表中的按钮。当用户选择“按钮”时,则执行与菜单项关联的操作。JPopupMenu
中包含的 JMenuItem
正好执行该功能。
通过 Action
可以配置菜单,并进行一定程度的控制。对菜单项使用 Action
有许多直接配置菜单项所不及的优点。有关更多信息,请参阅支持 Action
的 Swing 组件,可以在 The Java Tutorial 中的 How to Use Actions 一节找到更多信息。
有关更多文档和示例,请参见 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 |
JMenuItem.AccessibleJMenuItem 此类实现 JMenuItem 类的可访问性支持。 |
从类 javax.swing.AbstractButton 继承的嵌套类/接口 |
---|
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener |
从类 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 |
从接口 javax.swing.SwingConstants 继承的字段 |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
JMenuItem() 创建不带有设置文本或图标的 JMenuItem 。 |
|
JMenuItem(Action a) 创建从指定的 Action 获取其属性的菜单项。 |
|
JMenuItem(Icon icon) 创建带有指定图标的 JMenuItem 。 |
|
JMenuItem(String text) 创建带有指定文本的 JMenuItem 。 |
|
JMenuItem(String text, Icon icon) 创建带有指定文本和图标的 JMenuItem 。 |
|
JMenuItem(String text, int mnemonic) 创建带有指定文本和键盘助记符的 JMenuItem 。 |
方法摘要 | |
---|---|
protected void |
actionPropertyChanged(Action action, String propertyName) 更新按钮的状态以响应相关的操作中的属性更改。 |
void |
addMenuDragMouseListener(MenuDragMouseListener l) 将 MenuDragMouseListener 添加到菜单项。 |
void |
addMenuKeyListener(MenuKeyListener l) 将 MenuKeyListener 添加到菜单项。 |
protected void |
configurePropertiesFromAction(Action a) 在此按钮上设置属性以匹配指定 Action 中的属性。 |
protected void |
fireMenuDragMouseDragged(MenuDragMouseEvent event) 通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuDragMouseEntered(MenuDragMouseEvent event) 通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuDragMouseExited(MenuDragMouseEvent event) 通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuDragMouseReleased(MenuDragMouseEvent event) 通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuKeyPressed(MenuKeyEvent event) 通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuKeyReleased(MenuKeyEvent event) 通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuKeyTyped(MenuKeyEvent event) 通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
KeyStroke |
getAccelerator() 返回作为菜单项的加速器的 KeyStroke 。 |
AccessibleContext |
getAccessibleContext() 返回与此 JMenuItem 关联的 AccessibleContext 。 |
Component |
getComponent() 返回用于绘制此对象的 java.awt.Component 。 |
MenuDragMouseListener[] |
getMenuDragMouseListeners() 返回利用 addMenuDragMouseListener() 添加到此 JMenuItem 的所有 MenuDragMouseListener 组成的数组。 |
MenuKeyListener[] |
getMenuKeyListeners() 返回利用 addMenuKeyListener() 添加到此 JMenuItem 的所有 MenuKeyListener 的数组。 |
MenuElement[] |
getSubElements() 此方法返回包含此菜单组件的子菜单组件的数组。 |
String |
getUIClassID() 返回用于构造呈现此组件时使用的 L&F 类名称的后缀。 |
protected void |
init(String text, Icon icon) 利用指定文本和图标初始化菜单项。 |
boolean |
isArmed() 返回菜单项是否被“调出”。 |
void |
menuSelectionChanged(boolean isIncluded) 当选择或取消选择 MenuElement 时由 MenuSelectionManager 调用。 |
protected String |
paramString() 返回此 JMenuItem 的字符串表示形式。 |
void |
processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager) 如有必要,通过使用 MenuSelectionManager 的 API 处理从 MenuSelectionManager 转发的键事件并更改菜单选择。 |
void |
processMenuDragMouseEvent(MenuDragMouseEvent e) 处理菜单中的鼠标拖动。 |
void |
processMenuKeyEvent(MenuKeyEvent e) 处理菜单中的快捷键。 |
void |
processMouseEvent(MouseEvent e, MenuElement[] path, MenuSelectionManager manager) 如有必要,通过使用 MenuSelectionManager 的 API 处理从 MenuSelectionManager 转发的鼠标事件并更改菜单选择。 |
void |
removeMenuDragMouseListener(MenuDragMouseListener l) 从菜单项中移除 MenuDragMouseListener 。 |
void |
removeMenuKeyListener(MenuKeyListener l) 从菜单项中移除 MenuKeyListener 。 |
void |
setAccelerator(KeyStroke keyStroke) 设置修改键,它能直接调用菜单项的操作侦听器而不必显示菜单的层次结构。 |
void |
setArmed(boolean b) 将菜单项标识为“调出”。 |
void |
setEnabled(boolean b) 启用或禁用菜单项。 |
void |
setModel(ButtonModel newModel) 设置此按钮表示的模型。 |
void |
setUI(MenuItemUI ui) 设置呈现此组件的外观对象。 |
void |
updateUI() 利用当前外观的值重置 UI 属性。 |