public class JMenuItem extends AbstractButtonimplements Accessible , MenuElement
JMenuItem contained in a
JPopupMenu performs exactly that function.
Menu items can be configured, and to some degree controlled, by Actions. Using an Action with a menu item has many benefits beyond directly configuring a menu item. Refer to Swing Components Supporting Action for more details, and you can find more information in How to Use Actions, a section in The Java Tutorial.
For further documentation and for examples, see How to Use Menus in The Java Tutorial.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see XMLEncoder.
JPopupMenu,
JMenu,
JCheckBoxMenuItem,
JRadioButtonMenuItem
| Modifier and Type | Class and Description |
|---|---|
protected class |
JMenuItem
This class implements accessibility support for the
JMenuItem class.
|
AbstractButton.AccessibleAbstractButton , AbstractButton.ButtonChangeListener JComponent.AccessibleJComponent Container.AccessibleAWTContainer Component.AccessibleAWTComponent , Component.BaselineResizeBehavior , Component.BltBufferStrategy , Component.FlipBufferStrategy 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_PROPERTYlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WESTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
JMenuItem()
Creates a
JMenuItem with no set text or icon.
|
JMenuItem(Action
Creates a menu item whose properties are taken from the specified
Action.
|
JMenuItem(Icon
Creates a
JMenuItem with the specified icon.
|
JMenuItem(String
Creates a
JMenuItem with the specified text.
|
JMenuItem(String
Creates a
JMenuItem with the specified text and icon.
|
JMenuItem(String
Creates a
JMenuItem with the specified text and keyboard mnemonic.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
actionPropertyChanged(Action
Updates the button's state in response to property changes in the associated action.
|
void |
addMenuDragMouseListener(MenuDragMouseListener
Adds a
MenuDragMouseListener to the menu item.
|
void |
addMenuKeyListener(MenuKeyListener
Adds a
MenuKeyListener to the menu item.
|
protected void |
configurePropertiesFromAction(Action
Sets the properties on this button to match those in the specified
Action.
|
protected void |
fireMenuDragMouseDragged(MenuDragMouseEvent
Notifies all listeners that have registered interest for notification on this event type.
|
protected void |
fireMenuDragMouseEntered(MenuDragMouseEvent
Notifies all listeners that have registered interest for notification on this event type.
|
protected void |
fireMenuDragMouseExited(MenuDragMouseEvent
Notifies all listeners that have registered interest for notification on this event type.
|
protected void |
fireMenuDragMouseReleased(MenuDragMouseEvent
Notifies all listeners that have registered interest for notification on this event type.
|
protected void |
fireMenuKeyPressed(MenuKeyEvent
Notifies all listeners that have registered interest for notification on this event type.
|
protected void |
fireMenuKeyReleased(MenuKeyEvent
Notifies all listeners that have registered interest for notification on this event type.
|
protected void |
fireMenuKeyTyped(MenuKeyEvent
Notifies all listeners that have registered interest for notification on this event type.
|
KeyStroke |
getAccelerator()
Returns the
KeyStroke which serves as an accelerator for the menu item.
|
AccessibleContext |
getAccessibleContext()
Returns the
AccessibleContext associated with this
JMenuItem.
|
Component |
getComponent()
Returns the
java.awt.Component used to paint this object.
|
MenuDragMouseListener |
getMenuDragMouseListeners()
Returns an array of all the
MenuDragMouseListeners added to this JMenuItem with addMenuDragMouseListener().
|
MenuKeyListener |
getMenuKeyListeners()
Returns an array of all the
MenuKeyListeners added to this JMenuItem with addMenuKeyListener().
|
MenuElement |
getSubElements()
This method returns an array containing the sub-menu components for this menu component.
|
String |
getUIClassID()
Returns the suffix used to construct the name of the L&F class used to render this component.
|
protected void |
init(String
Initializes the menu item with the specified text and icon.
|
boolean |
isArmed()
Returns whether the menu item is "armed".
|
void |
menuSelectionChanged(boolean isIncluded)
Called by the
MenuSelectionManager when the
MenuElement is selected or unselected.
|
protected String |
paramString()
Returns a string representation of this
JMenuItem.
|
void |
processKeyEvent(KeyEvent
Processes a key event forwarded from the
MenuSelectionManager and changes the menu selection, if necessary, by using
MenuSelectionManager's API.
|
void |
processMenuDragMouseEvent(MenuDragMouseEvent
Handles mouse drag in a menu.
|
void |
processMenuKeyEvent(MenuKeyEvent
Handles a keystroke in a menu.
|
void |
processMouseEvent(MouseEvent
Processes a mouse event forwarded from the
MenuSelectionManager and changes the menu selection, if necessary, by using the
MenuSelectionManager's API.
|
void |
removeMenuDragMouseListener(MenuDragMouseListener
Removes a
MenuDragMouseListener from the menu item.
|
void |
removeMenuKeyListener(MenuKeyListener
Removes a
MenuKeyListener from the menu item.
|
void |
setAccelerator(KeyStroke
Sets the key combination which invokes the menu item's action listeners without navigating the menu hierarchy.
|
void |
setArmed(boolean b)
Identifies the menu item as "armed".
|
void |
setEnabled(boolean b)
Enables or disables the menu item.
|
void |
setModel(ButtonModel
Sets the model that this button represents.
|
void |
setUI(MenuItemUI
Sets the look and feel object that renders this component.
|
void |
updateUI()
Resets the UI property with a value from the current look and feel.
|
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, setVerticalTextPositionaddAncestorListener, 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, 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, updateadd, 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, validateTreeaction, 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, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCyclepublic JMenuItem()
JMenuItem with no set text or icon.
public JMenuItem(Iconicon)
JMenuItem with the specified icon.
icon - the icon of the
JMenuItem
public JMenuItem(Stringtext)
JMenuItem with the specified text.
text - the text of the
JMenuItem
public JMenuItem(Actiona)
Action.
a - the action of the
JMenuItem
public JMenuItem(Stringtext, Icon icon)
JMenuItem with the specified text and icon.
text - the text of the
JMenuItem
icon - the icon of the
JMenuItem
public JMenuItem(Stringtext, int mnemonic)
JMenuItem with the specified text and keyboard mnemonic.
text - the text of the
JMenuItem
mnemonic - the keyboard mnemonic for the
JMenuItem
public void setModel(ButtonModelnewModel)
setModel in class
AbstractButton
newModel - the new
ButtonModel
AbstractButton.getModel()
protected void init(Stringtext, Icon icon)
init in class
AbstractButton
text - the text of the
JMenuItem
icon - the icon of the
JMenuItem
public void setUI(MenuItemUIui)
ui - the
JMenuItemUI L&F object
UIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
updateUI in class
AbstractButton
JComponent.updateUI()
public StringgetUIClassID()
getUIClassID in class
JComponent
JComponent.getUIClassID() ,
UIDefaults.getUI(javax.swing.JComponent)
public void setArmed(boolean b)
b - true to arm the menu item so it can be selected
public boolean isArmed()
setArmed(boolean)
public void setEnabled(boolean b)
setEnabled in class
AbstractButton
b - true to enable the item
Component.isEnabled() ,
Component.isLightweight()
public void setAccelerator(KeyStrokekeyStroke)
keyStroke - the
KeyStroke which will serve as an accelerator
public KeyStrokegetAccelerator()
KeyStroke which serves as an accelerator for the menu item.
KeyStroke object identifying the accelerator key
protected void configurePropertiesFromAction(Actiona)
Action. Refer to
Swing Components Supporting Action for more details as to which properties this sets.
configurePropertiesFromAction in class
AbstractButton
a - the
Action from which to get the properties, or
null
Action,
AbstractButton.setAction(javax.swing.Action)
protected void actionPropertyChanged(Actionaction, String propertyName)
PropertyChangeListener returned from
createActionPropertyChangeListener. Subclasses do not normally need to invoke this. Subclasses that support additional
Action properties should override this and
configurePropertiesFromAction.
Refer to the table at Swing Components Supporting Action for a list of the properties this method sets.
actionPropertyChanged in class
AbstractButton
action - the
Action associated with this button
propertyName - the name of the property that changed
Action,
AbstractButton.configurePropertiesFromAction(javax.swing.Action)
public void processMouseEvent(MouseEvente, MenuElement [] path, MenuSelectionManager manager)
MenuSelectionManager and changes the menu selection, if necessary, by using the
MenuSelectionManager's API.
Note: you do not have to forward the event to sub-components. This is done automatically by the MenuSelectionManager.
processMouseEvent in interface
MenuElement
e - a
MouseEvent
path - the
MenuElement path array
manager - the
MenuSelectionManager
public void processKeyEvent(KeyEvente, MenuElement [] path, MenuSelectionManager manager)
MenuSelectionManager and changes the menu selection, if necessary, by using
MenuSelectionManager's API.
Note: you do not have to forward the event to sub-components. This is done automatically by the MenuSelectionManager.
processKeyEvent in interface
MenuElement
e - a
KeyEvent
path - the
MenuElement path array
manager - the
MenuSelectionManager
public void processMenuDragMouseEvent(MenuDragMouseEvente)
e - a
MenuDragMouseEvent object
public void processMenuKeyEvent(MenuKeyEvente)
e - a
MenuKeyEvent object
protected void fireMenuDragMouseEntered(MenuDragMouseEventevent)
event - a
MenuMouseDragEvent
EventListenerList
protected void fireMenuDragMouseExited(MenuDragMouseEventevent)
event - a
MenuDragMouseEvent
EventListenerList
protected void fireMenuDragMouseDragged(MenuDragMouseEventevent)
event - a
MenuDragMouseEvent
EventListenerList
protected void fireMenuDragMouseReleased(MenuDragMouseEventevent)
event - a
MenuDragMouseEvent
EventListenerList
protected void fireMenuKeyPressed(MenuKeyEventevent)
event - a
MenuKeyEvent
EventListenerList
protected void fireMenuKeyReleased(MenuKeyEventevent)
event - a
MenuKeyEvent
EventListenerList
protected void fireMenuKeyTyped(MenuKeyEventevent)
event - a
MenuKeyEvent
EventListenerList
public void menuSelectionChanged(boolean isIncluded)
MenuSelectionManager when the
MenuElement is selected or unselected.
menuSelectionChanged in interface
MenuElement
isIncluded - true if this menu item is on the part of the menu path that changed, false if this menu is part of the a menu path that changed, but this particular part of that path is still the same
MenuSelectionManager.setSelectedPath(MenuElement[])
public MenuElement[] getSubElements()
getSubElements in interface
MenuElement
MenuElements
public ComponentgetComponent()
java.awt.Component used to paint this object. The returned component will be used to convert events and detect if an event is inside a menu component.
getComponent in interface
MenuElement
Component that paints this menu item
public void addMenuDragMouseListener(MenuDragMouseListenerl)
MenuDragMouseListener to the menu item.
l - the
MenuDragMouseListener to be added
public void removeMenuDragMouseListener(MenuDragMouseListenerl)
MenuDragMouseListener from the menu item.
l - the
MenuDragMouseListener to be removed
public MenuDragMouseListener[] getMenuDragMouseListeners()
MenuDragMouseListeners added to this JMenuItem with addMenuDragMouseListener().
MenuDragMouseListeners added or an empty array if no listeners have been added
public void addMenuKeyListener(MenuKeyListenerl)
MenuKeyListener to the menu item.
l - the
MenuKeyListener to be added
public void removeMenuKeyListener(MenuKeyListenerl)
MenuKeyListener from the menu item.
l - the
MenuKeyListener to be removed
public MenuKeyListener[] getMenuKeyListeners()
MenuKeyListeners added to this JMenuItem with addMenuKeyListener().
MenuKeyListeners added or an empty array if no listeners have been added
protected StringparamString()
JMenuItem. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be
null.
paramString in class
AbstractButton
JMenuItem
public AccessibleContextgetAccessibleContext()
AccessibleContext associated with this
JMenuItem. For
JMenuItems, the
AccessibleContext takes the form of an
AccessibleJMenuItem. A new AccessibleJMenuItme instance is created if necessary.
getAccessibleContext in interface
Accessible
getAccessibleContext in class
Component
AccessibleJMenuItem that serves as the
AccessibleContext of this
JMenuItem