java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JMenuItem
- 所有已实现的接口:
ImageObserver,ItemSelectable,MenuContainer,Serializable,Accessible,MenuElement,SwingConstants
- 已知子类:
JCheckBoxMenuItem,JMenu,JRadioButtonMenuItem
@JavaBean (defaultProperty ="UIClassID", description ="An item which can be selected in a menu.") public class JMenuItem extends AbstractButton implements Accessible , MenuElement
菜单中项目的实现。菜单项本质上是一个位于列表中的按钮。当用户选择“按钮”时,将执行与菜单项关联的操作。
JPopupMenu 中包含的 JMenuItem 执行该功能。
Actions 可以配置菜单项,并在某种程度上控制它们。将Action 与菜单项一起使用比直接配置菜单项有很多好处。有关详细信息,请参阅 摇摆组件支持Action,您可以在 如何使用动作 中找到更多信息,这是 The Java Tutorial 中的一个部分。
有关更多文档和示例,请参阅 The Java Tutorial. 中的 如何使用菜单
Warning: Swing 不是线程安全的。有关详细信息,请参阅 Swing 的线程策略。
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
- 自从:
- 1.2
- 参见:
-
内部类总结
内部类在类 javax.swing.AbstractButton 中声明的嵌套类/接口
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener在类 javax.swing.JComponent 中声明的嵌套类/接口
JComponent.AccessibleJComponent在类 java.awt.Container 中声明的嵌套类/接口
Container.AccessibleAWTContainer -
字段摘要
在类 javax.swing.AbstractButton 中声明的字段
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY在类 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在接口 java.awt.image.ImageObserver 中声明的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH在接口 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 -
构造方法总结
构造方法构造方法描述创建一个没有设置文本或图标的JMenuItem。用指定的文本创建一个JMenuItem。使用指定的文本和键盘助记符创建JMenuItem。创建具有指定文本和图标的JMenuItem。创建一个菜单项,其属性取自指定的Action。创建一个带有指定图标的JMenuItem。 -
方法总结
修饰符和类型方法描述protected voidactionPropertyChanged(Action action, String propertyName) 更新按钮的状态以响应关联操作中的属性更改。void向菜单项添加MenuDragMouseListener。void向菜单项添加MenuKeyListener。protected void设置此按钮的属性以匹配指定的Action中的属性。protected void通知所有已注册对此事件类型的通知感兴趣的监听。protected void通知所有已注册对此事件类型的通知感兴趣的监听。protected void通知所有已注册对此事件类型的通知感兴趣的监听。protected void通知所有已注册对此事件类型的通知感兴趣的监听。protected voidfireMenuKeyPressed(MenuKeyEvent event) 通知所有已注册对此事件类型的通知感兴趣的监听。protected voidfireMenuKeyReleased(MenuKeyEvent event) 通知所有已注册对此事件类型的通知感兴趣的监听。protected voidfireMenuKeyTyped(MenuKeyEvent event) 通知所有已注册对此事件类型的通知感兴趣的监听。返回用作菜单项快捷键的KeyStroke。返回与此JMenuItem关联的AccessibleContext。返回用于绘制此对象的java.awt.Component。返回使用 addMenuDragMouseListener() 添加到此 JMenuItem 的所有MenuDragMouseListener的数组。返回使用 addMenuKeyListener() 添加到此 JMenuItem 的所有MenuKeyListener的数组。此方法返回一个数组,其中包含此菜单组件的子菜单组件。返回用于构造用于呈现此组件的 L&F 类名称的后缀。protected void使用指定的文本和图标初始化菜单项。booleanisArmed()返回菜单项是否“武装”。voidmenuSelectionChanged(boolean isIncluded) 当选择或取消选择MenuElement时,由MenuSelectionManager调用。protected String返回此JMenuItem的字符串表示形式voidprocessKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager) 处理从MenuSelectionManager转发的按键事件,并在必要时使用MenuSelectionManager的 API 更改菜单选择。void处理菜单中的鼠标拖动。void处理菜单中的击键。voidprocessMouseEvent(MouseEvent e, MenuElement[] path, MenuSelectionManager manager) 处理从MenuSelectionManager转发的鼠标事件,并在必要时使用MenuSelectionManager的 API 更改菜单选择。void从菜单项中删除MenuDragMouseListener。void从菜单项中删除MenuKeyListener。voidsetAccelerator(KeyStroke keyStroke) 设置在不导航菜单层次结构的情况下调用菜单项的动作监听的组合键。voidsetArmed(boolean b) 将菜单项标识为“武装”。voidsetEnabled(boolean b) 启用或禁用菜单项。voidsetModel(ButtonModel newModel) 设置此按钮代表的模型。voidsetUI(MenuItemUI ui) 设置呈现此组件的外观对象。voidupdateUI()使用当前外观的值重置 UI 属性。在类 javax.swing.AbstractButton 中声明的方法
addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition在类 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update在类 java.awt.Container 中声明的方法
add, add, add, add, add, addContainerListener, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, 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, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
构造方法详细信息
-
JMenuItem
public JMenuItem()创建一个没有设置文本或图标的JMenuItem。 -
JMenuItem
创建一个带有指定图标的JMenuItem。- 参数:
icon-JMenuItem的图标
-
JMenuItem
用指定的文本创建一个JMenuItem。- 参数:
text-JMenuItem的文本
-
JMenuItem
创建一个菜单项,其属性取自指定的Action。- 参数:
a-JMenuItem的动作- 自从:
- 1.3
-
JMenuItem
创建具有指定文本和图标的JMenuItem。- 参数:
text-JMenuItem的文本icon-JMenuItem的图标
-
JMenuItem
使用指定的文本和键盘助记符创建JMenuItem。- 参数:
text-JMenuItem的文本mnemonic-JMenuItem的键盘助记符
-
-
方法详情
-
setModel
设置此按钮代表的模型。- 重写:
setModel在类AbstractButton中- 参数:
newModel- 新的ButtonModel- 参见:
-
init
使用指定的文本和图标初始化菜单项。- 重写:
init在类AbstractButton中- 参数:
text-JMenuItem的文本icon-JMenuItem的图标
-
setUI
@BeanProperty (hidden =true, visualUpdate =true, description ="The UI object that implements the LookAndFeel.") public void setUI(MenuItemUI ui) 设置呈现此组件的外观对象。- 参数:
ui-JMenuItemUIL&F 对象- 参见:
-
updateUI
public void updateUI()使用当前外观的值重置 UI 属性。- 重写:
updateUI在类AbstractButton中- 参见:
-
getUIClassID
返回用于构造用于呈现此组件的 L&F 类名称的后缀。- 重写:
getUIClassID在类JComponent中- 返回:
- 字符串“MenuItemUI”
- 参见:
-
setArmed
@BeanProperty (bound =false, hidden =true, description ="Mouse release will fire an action event") public void setArmed(boolean b) 将菜单项标识为“武装”。如果鼠标按钮在此项上时被释放,菜单的动作事件将被触发。如果鼠标按钮在别处被释放,事件将不会触发并且菜单项将被解除。- 参数:
b- 设置菜单项为真,以便可以选择
-
isArmed
public boolean isArmed()返回菜单项是否“武装”。- 返回:
- 如果菜单项处于武装状态且可以选择,则为真
- 参见:
-
setEnabled
@BeanProperty (preferred =true, description ="The enabled state of the component.") public void setEnabled(boolean b) 启用或禁用菜单项。- 重写:
setEnabled在类AbstractButton中- 参数:
b- true 启用该项目- 参见:
-
setAccelerator
@BeanProperty (preferred =true, description ="The keystroke combination which will invoke the JMenuItem\'s actionlisteners without navigating the menu hierarchy") public void setAccelerator(KeyStroke keyStroke) 设置在不导航菜单层次结构的情况下调用菜单项的动作监听的组合键。安装正确的操作是 UI 的责任。请注意,当键入键盘快捷键时,无论当前是否显示菜单,它都会起作用。- 参数:
keyStroke-KeyStroke将用作加速器
-
getAccelerator
返回用作菜单项快捷键的KeyStroke。- 返回:
-
一个
KeyStroke对象标识加速键
-
configurePropertiesFromAction
设置此按钮的属性以匹配指定的Action中的属性。有关此设置的属性的更多详细信息,请参阅 摇摆组件支持Action。- 重写:
configurePropertiesFromAction在类AbstractButton中- 参数:
a- 从中获取属性的Action,或null- 自从:
- 1.3
- 参见:
-
actionPropertyChanged
更新按钮的状态以响应关联操作中的属性更改。从createActionPropertyChangeListener返回的PropertyChangeListener调用此方法。子类通常不需要调用它。支持额外Action属性的子类应该覆盖这个和configurePropertiesFromAction。有关此方法设置的属性列表,请参阅 摇摆组件支持
Action中的表格。- 重写:
actionPropertyChanged在类AbstractButton中- 参数:
action- 与此按钮关联的ActionpropertyName- 更改的属性的名称- 自从:
- 1.6
- 参见:
-
processMouseEvent
处理从MenuSelectionManager转发的鼠标事件,并在必要时使用MenuSelectionManager的 API 更改菜单选择。注意:您不必将事件转发给子组件。这是由
MenuSelectionManager自动完成的。- 指定者:
processMouseEvent在接口MenuElement中- 参数:
e- 一个MouseEventpath-MenuElement路径数组manager-MenuSelectionManager
-
processKeyEvent
处理从MenuSelectionManager转发的按键事件,并在必要时使用MenuSelectionManager的 API 更改菜单选择。注意:您不必将事件转发给子组件。这是由
MenuSelectionManager自动完成的。- 指定者:
processKeyEvent在接口MenuElement中- 参数:
e- 一个KeyEventpath-MenuElement路径数组manager-MenuSelectionManager
-
processMenuDragMouseEvent
处理菜单中的鼠标拖动。- 参数:
e- 一个MenuDragMouseEvent对象
-
processMenuKeyEvent
处理菜单中的击键。- 参数:
e- 一个MenuKeyEvent对象
-
fireMenuDragMouseEntered
通知所有已注册对此事件类型的通知感兴趣的监听。- 参数:
event- 一个MenuMouseDragEvent- 参见:
-
fireMenuDragMouseExited
通知所有已注册对此事件类型的通知感兴趣的监听。- 参数:
event- 一个MenuDragMouseEvent- 参见:
-
fireMenuDragMouseDragged
通知所有已注册对此事件类型的通知感兴趣的监听。- 参数:
event- 一个MenuDragMouseEvent- 参见:
-
fireMenuDragMouseReleased
通知所有已注册对此事件类型的通知感兴趣的监听。- 参数:
event- 一个MenuDragMouseEvent- 参见:
-
fireMenuKeyPressed
通知所有已注册对此事件类型的通知感兴趣的监听。- 参数:
event- 一个MenuKeyEvent- 参见:
-
fireMenuKeyReleased
通知所有已注册对此事件类型的通知感兴趣的监听。- 参数:
event- 一个MenuKeyEvent- 参见:
-
fireMenuKeyTyped
通知所有已注册对此事件类型的通知感兴趣的监听。- 参数:
event- 一个MenuKeyEvent- 参见:
-
getSubElements
此方法返回一个数组,其中包含此菜单组件的子菜单组件。- 指定者:
getSubElements在接口MenuElement中- 返回:
MenuElement的数组
-
getComponent
返回用于绘制此对象的java.awt.Component。返回的组件将用于转换事件并检测事件是否在菜单组件内。- 指定者:
getComponent在接口MenuElement中- 返回:
-
绘制此菜单项的
Component
-
addMenuDragMouseListener
向菜单项添加MenuDragMouseListener。- 参数:
l- 要添加的MenuDragMouseListener
-
removeMenuDragMouseListener
从菜单项中删除MenuDragMouseListener。- 参数:
l- 要删除的MenuDragMouseListener
-
getMenuDragMouseListeners
返回使用 addMenuDragMouseListener() 添加到此 JMenuItem 的所有MenuDragMouseListener的数组。- 返回:
-
添加所有
MenuDragMouseListeners,如果没有添加任何监听器,则为空数组 - 自从:
- 1.4
-
addMenuKeyListener
向菜单项添加MenuKeyListener。- 参数:
l- 要添加的MenuKeyListener
-
removeMenuKeyListener
从菜单项中删除MenuKeyListener。- 参数:
l- 要删除的MenuKeyListener
-
getMenuKeyListeners
返回使用 addMenuKeyListener() 添加到此 JMenuItem 的所有MenuKeyListener的数组。- 返回:
-
添加所有
MenuKeyListener或如果未添加任何监听器,则为空数组 - 自从:
- 1.4
-
paramString
返回此JMenuItem的字符串表示形式。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是null。- 重写:
paramString在类AbstractButton中- 返回:
-
这个
JMenuItem的字符串表示
-
getAccessibleContext
返回与此JMenuItem关联的AccessibleContext。对于JMenuItems,AccessibleContext采用AccessibleJMenuItem的形式。如有必要,将创建一个新的 AccessibleJMenuItme 实例。- 指定者:
getAccessibleContext在接口Accessible中- 重写:
getAccessibleContext在类Component中- 返回:
-
一个
AccessibleJMenuItem作为这个JMenuItem的AccessibleContext
-