Class JMenuItem
- All Implemented Interfaces:
-
ImageObserver,ItemSelectable,MenuContainer,Serializable,Accessible,MenuElement,SwingConstants
- Direct Known Subclasses:
-
JCheckBoxMenuItem,JMenu,JRadioButtonMenuItem
@JavaBean(defaultProperty="UIClassID", description="An item which can be selected in a menu.") public class JMenuItem extends AbstractButton implements 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.
- Since:
- 1.2
- See Also:
Nested Class Summary
| Modifier and Type | Class | Description |
|---|---|---|
protected class |
JMenuItem.AccessibleJMenuItem |
This class implements accessibility support for the JMenuItem class. |
Nested classes/interfaces declared in class javax.swing.AbstractButton
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener
Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Field Summary
Fields declared in class 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
Fields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields declared in interface 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
Constructor Summary
| Constructor | Description |
|---|---|
JMenuItem() |
Creates a JMenuItem with no set text or icon. |
JMenuItem |
Creates a JMenuItem with the specified text. |
JMenuItem |
Creates a JMenuItem with the specified text and keyboard mnemonic. |
JMenuItem |
Creates a JMenuItem with the specified text and icon. |
JMenuItem |
Creates a menu item whose properties are taken from the specified Action. |
JMenuItem |
Creates a JMenuItem with the specified icon. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
actionPropertyChanged |
Updates the button's state in response to property changes in the associated action. |
void |
addMenuDragMouseListener |
Adds a MenuDragMouseListener to the menu item. |
void |
addMenuKeyListener |
Adds a MenuKeyListener to the menu item. |
protected void |
configurePropertiesFromAction |
Sets the properties on this button to match those in the specified Action. |
protected void |
fireMenuDragMouseDragged |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuDragMouseEntered |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuDragMouseExited |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuDragMouseReleased |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuKeyPressed |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuKeyReleased |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireMenuKeyTyped |
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 |
Initializes the menu item with the specified text and icon. |
boolean |
isArmed() |
Returns whether the menu item is "armed". |
void |
menuSelectionChanged |
Called by the MenuSelectionManager when the MenuElement is selected or unselected. |
protected String |
paramString() |
Returns a string representation of this JMenuItem. |
void |
processKeyEvent |
Processes a key event forwarded from the MenuSelectionManager and changes the menu selection, if necessary, by using MenuSelectionManager's API. |
void |
processMenuDragMouseEvent |
Handles mouse drag in a menu. |
void |
processMenuKeyEvent |
Handles a keystroke in a menu. |
void |
processMouseEvent |
Processes a mouse event forwarded from the MenuSelectionManager and changes the menu selection, if necessary, by using the MenuSelectionManager's API. |
void |
removeMenuDragMouseListener |
Removes a MenuDragMouseListener from the menu item. |
void |
removeMenuKeyListener |
Removes a MenuKeyListener from the menu item. |
void |
setAccelerator |
Sets the key combination which invokes the menu item's action listeners without navigating the menu hierarchy. |
void |
setArmed |
Identifies the menu item as "armed". |
void |
setEnabled |
Enables or disables the menu item. |
void |
setModel |
Sets the model that this button represents. |
void |
setUI |
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. |
Methods declared in class 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
Methods declared in class 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
Methods declared in class 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
Methods declared in class 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
Constructor Details
JMenuItem
public JMenuItem()
JMenuItem with no set text or icon.JMenuItem
public JMenuItem(Icon icon)
JMenuItem with the specified icon.- Parameters:
-
icon- the icon of theJMenuItem
JMenuItem
public JMenuItem(String text)
JMenuItem with the specified text.- Parameters:
-
text- the text of theJMenuItem
JMenuItem
public JMenuItem(Action a)
Action.- Parameters:
-
a- the action of theJMenuItem - Since:
- 1.3
JMenuItem
public JMenuItem(String text, Icon icon)
JMenuItem with the specified text and icon.- Parameters:
-
text- the text of theJMenuItem -
icon- the icon of theJMenuItem
JMenuItem
public JMenuItem(String text, int mnemonic)
JMenuItem with the specified text and keyboard mnemonic.- Parameters:
-
text- the text of theJMenuItem -
mnemonic- the keyboard mnemonic for theJMenuItem
Method Details
setModel
public void setModel(ButtonModel newModel)
- Overrides:
-
setModelin classAbstractButton - Parameters:
-
newModel- the newButtonModel - See Also:
init
protected void init(String text, Icon icon)
- Overrides:
-
initin classAbstractButton - Parameters:
-
text- the text of theJMenuItem -
icon- the icon of theJMenuItem
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the LookAndFeel.") public void setUI(MenuItemUI ui)
- Parameters:
-
ui- theJMenuItemUIL&F object - See Also:
updateUI
public void updateUI()
- Overrides:
-
updateUIin classAbstractButton - See Also:
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Overrides:
-
getUIClassIDin classJComponent - Returns:
- the string "MenuItemUI"
- See Also:
setArmed
@BeanProperty(bound=false, hidden=true, description="Mouse release will fire an action event") public void setArmed(boolean b)
- Parameters:
-
b- true to arm the menu item so it can be selected
isArmed
public boolean isArmed()
- Returns:
- true if the menu item is armed, and it can be selected
- See Also:
setEnabled
@BeanProperty(preferred=true, description="The enabled state of the component.") public void setEnabled(boolean b)
- Overrides:
-
setEnabledin classAbstractButton - Parameters:
-
b- true to enable the item - See Also:
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)
- Parameters:
-
keyStroke- theKeyStrokewhich will serve as an accelerator
getAccelerator
public KeyStroke getAccelerator()
KeyStroke which serves as an accelerator for the menu item.- Returns:
- a
KeyStrokeobject identifying the accelerator key
configurePropertiesFromAction
protected void configurePropertiesFromAction(Action a)
Action. Refer to Swing Components Supporting Action for more details as to which properties this sets.- Overrides:
-
configurePropertiesFromActionin classAbstractButton - Parameters:
-
a- theActionfrom which to get the properties, ornull - Since:
- 1.3
- See Also:
actionPropertyChanged
protected void actionPropertyChanged(Action action, 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.
- Overrides:
-
actionPropertyChangedin classAbstractButton - Parameters:
-
action- theActionassociated with this button -
propertyName- the name of the property that changed - Since:
- 1.6
- See Also:
processMouseEvent
public void processMouseEvent(MouseEvent e, 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.
- Specified by:
-
processMouseEventin interfaceMenuElement - Parameters:
-
e- aMouseEvent -
path- theMenuElementpath array -
manager- theMenuSelectionManager
processKeyEvent
public void processKeyEvent(KeyEvent e, 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.
- Specified by:
-
processKeyEventin interfaceMenuElement - Parameters:
-
e- aKeyEvent -
path- theMenuElementpath array -
manager- theMenuSelectionManager
processMenuDragMouseEvent
public void processMenuDragMouseEvent(MenuDragMouseEvent e)
- Parameters:
-
e- aMenuDragMouseEventobject
processMenuKeyEvent
public void processMenuKeyEvent(MenuKeyEvent e)
- Parameters:
-
e- aMenuKeyEventobject
fireMenuDragMouseEntered
protected void fireMenuDragMouseEntered(MenuDragMouseEvent event)
- Parameters:
-
event- aMenuMouseDragEvent - See Also:
fireMenuDragMouseExited
protected void fireMenuDragMouseExited(MenuDragMouseEvent event)
- Parameters:
-
event- aMenuDragMouseEvent - See Also:
fireMenuDragMouseDragged
protected void fireMenuDragMouseDragged(MenuDragMouseEvent event)
- Parameters:
-
event- aMenuDragMouseEvent - See Also:
fireMenuDragMouseReleased
protected void fireMenuDragMouseReleased(MenuDragMouseEvent event)
- Parameters:
-
event- aMenuDragMouseEvent - See Also:
fireMenuKeyPressed
protected void fireMenuKeyPressed(MenuKeyEvent event)
- Parameters:
-
event- aMenuKeyEvent - See Also:
fireMenuKeyReleased
protected void fireMenuKeyReleased(MenuKeyEvent event)
- Parameters:
-
event- aMenuKeyEvent - See Also:
fireMenuKeyTyped
protected void fireMenuKeyTyped(MenuKeyEvent event)
- Parameters:
-
event- aMenuKeyEvent - See Also:
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
- Specified by:
-
getSubElementsin interfaceMenuElement - Returns:
- an array of
MenuElements
getComponent
public Component getComponent()
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.- Specified by:
-
getComponentin interfaceMenuElement - Returns:
- the
Componentthat paints this menu item
addMenuDragMouseListener
public void addMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener to the menu item.- Parameters:
-
l- theMenuDragMouseListenerto be added
removeMenuDragMouseListener
public void removeMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener from the menu item.- Parameters:
-
l- theMenuDragMouseListenerto be removed
getMenuDragMouseListeners
@BeanProperty(bound=false) public MenuDragMouseListener[] getMenuDragMouseListeners()
MenuDragMouseListeners added to this JMenuItem with addMenuDragMouseListener().- Returns:
- all of the
MenuDragMouseListeners added or an empty array if no listeners have been added - Since:
- 1.4
addMenuKeyListener
public void addMenuKeyListener(MenuKeyListener l)
MenuKeyListener to the menu item.- Parameters:
-
l- theMenuKeyListenerto be added
removeMenuKeyListener
public void removeMenuKeyListener(MenuKeyListener l)
MenuKeyListener from the menu item.- Parameters:
-
l- theMenuKeyListenerto be removed
getMenuKeyListeners
@BeanProperty(bound=false) public MenuKeyListener[] getMenuKeyListeners()
MenuKeyListeners added to this JMenuItem with addMenuKeyListener().- Returns:
- all of the
MenuKeyListeners added or an empty array if no listeners have been added - Since:
- 1.4
paramString
protected String paramString()
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.- Overrides:
-
paramStringin classAbstractButton - Returns:
- a string representation of this
JMenuItem
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
AccessibleContext associated with this JMenuItem. For JMenuItems, the AccessibleContext takes the form of an AccessibleJMenuItem. A new AccessibleJMenuItme instance is created if necessary.- Specified by:
-
getAccessibleContextin interfaceAccessible - Overrides:
-
getAccessibleContextin classComponent - Returns:
- an
AccessibleJMenuItemthat serves as theAccessibleContextof thisJMenuItem
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/JMenuItem.html