| JavaTM 2 Platform Std. Ed. v1.6.0
javax.swing
Class JMenuItem
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JMenuItem
- All Implemented Interfaces:
- ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible, MenuElement, SwingConstants
- Direct Known Subclasses:
- JCheckBoxMenuItem, JMenu, JRadioButtonMenuItem
public class JMenuItem - extends AbstractButton
- implements Accessible, MenuElement
An implementation of an item in a menu. A menu item is essentially a button
sitting in a list. When the user selects the "button", the action
associated with the menu item is performed. A 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 JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder.
- See Also:
JPopupMenu,
JMenu,
JCheckBoxMenuItem,
JRadioButtonMenuItem
| Fields inherited from 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 inherited from 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 |
JMenuItem()
Creates a JMenuItem with no set text or icon. |
JMenuItem(Action a)
Creates a menu item whose properties are taken from the
specified Action. |
JMenuItem(Icon icon)
Creates a JMenuItem with the specified icon. |
JMenuItem(String text)
Creates a JMenuItem with the specified text. |
JMenuItem(String text,
Icon icon)
Creates a JMenuItem with the specified text and icon. |
JMenuItem(String text,
int mnemonic)
Creates a JMenuItem with the specified text and
keyboard mnemonic. |
|
Method Summary |
protected void |
actionPropertyChanged(Action action,
String propertyName)
Updates the button's state in response to property changes in the
associated action. |
void |
addMenuDragMouseListener(MenuDragMouseListener l)
Adds a MenuDragMouseListener to the menu item. |
void |
addMenuKeyListener(MenuKeyListener l)
Adds a MenuKeyListener to the menu item. |
protected void |
configurePropertiesFromAction(Action a)
Sets the properties on this button to match those in the specified
Action. |
protected void |
fireMenuDragMouseDragged(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for
notification on this event type. |
protected void |
fireMenuDragMouseEntered(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for
notification on this event type. |
protected void |
fireMenuDragMouseExited(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for
notification on this event type. |
protected void |
fireMenuDragMouseReleased(MenuDragMouseEvent event)
Notifies all listeners that have registered interest for
notification on this event type. |
protected void |
fireMenuKeyPressed(MenuKeyEvent event)
Notifies all listeners that have registered interest for
notification on this event type. |
protected void |
fireMenuKeyReleased(MenuKeyEvent event)
Notifies all listeners that have registered interest for
notification on this event type. |
protected void |
fireMenuKeyTyped(MenuKeyEvent event)
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 text,
Icon icon)
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 e,
MenuElement[] path,
MenuSelectionManager manager)
Processes a key event forwarded from the
MenuSelectionManager and changes the menu selection,
if necessary, by using MenuSelectionManager's API. |
void |
processMenuDragMouseEvent(MenuDragMouseEvent e)
Handles mouse drag in a menu. |
void |
processMenuKeyEvent(MenuKeyEvent e)
Handles a keystroke in a menu. |
void |
processMouseEvent(MouseEvent e,
MenuElement[] path,
MenuSelectionManager manager)
Processes a mouse event forwarded from the
MenuSelectionManager and changes the menu
selection, if necessary, by using the
MenuSelectionManager's API. |
void |
removeMenuDragMouseListener(MenuDragMouseListener l)
Removes a MenuDragMouseListener from the menu item. |
void |
removeMenuKeyListener(MenuKeyListener l)
Removes a MenuKeyListener from the menu item. |
void |
setAccelerator(KeyStroke 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 newModel)
Sets the model that this button represents. |
void |
setUI(MenuItemUI ui)
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 inherited from 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 inherited from class javax.swing.JComponent |
addAncestorListener, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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 inherited from 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, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
| Methods inherited from 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, 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, hide, 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, transferFocusUpCycle |
JMenuItem
public JMenuItem()
- Creates a
JMenuItem with no set text or icon.
JMenuItem
public JMenuItem(Icon icon)
- Creates a
JMenuItem with the specified icon.
- Parameters:
icon - the icon of the JMenuItem
JMenuItem
public JMenuItem(String text)
- Creates a
JMenuItem with the specified text.
- Parameters:
text - the text of the JMenuItem
JMenuItem
public JMenuItem(Action a)
- Creates a menu item whose properties are taken from the
specified
Action.
- Parameters:
a - the action of the JMenuItem- Since:
- 1.3
JMenuItem
public JMenuItem(String text,
Icon icon)
- Creates a
JMenuItem with the specified text and icon.
- Parameters:
text - the text of the JMenuItemicon - the icon of the JMenuItem
JMenuItem
public JMenuItem(String text,
int mnemonic)
- Creates a
JMenuItem with the specified text and
keyboard mnemonic.
- Parameters:
text - the text of the JMenuItemmnemonic - the keyboard mnemonic for the JMenuItem
setModel
public void setModel(ButtonModel newModel)
- Sets the model that this button represents.
- Overrides:
setModel in class AbstractButton
- Parameters:
newModel - the new ButtonModel- See Also:
AbstractButton.getModel()
init
protected void init(String text,
Icon icon)
- Initializes the menu item with the specified text and icon.
- Overrides:
init in class AbstractButton
- Parameters:
text - the text of the JMenuItemicon - the icon of the JMenuItem
setUI
public void setUI(MenuItemUI ui)
- Sets the look and feel object that renders this component.
- Parameters:
ui - the JMenuItemUI L&F object- See Also:
UIDefaults.getUI(javax.swing.JComponent)
updateUI
public void updateUI()
- Resets the UI property with a value from the current look and feel.
- Overrides:
updateUI in class AbstractButton
- See Also:
JComponent.updateUI()
getUIClassID
public String getUIClassID()
- Returns the suffix used to construct the name of the L&F class used to
render this component.
- Overrides:
getUIClassID in class JComponent
- Returns:
- the string "MenuItemUI"
- See Also:
JComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)
setArmed
public void setArmed(boolean b)
- Identifies the menu item as "armed". If the mouse button is
released while it is over this item, the menu's action event
will fire. If the mouse button is released elsewhere, the
event will not fire and the menu item will be disarmed.
- Parameters:
b - true to arm the menu item so it can be selected
isArmed
public boolean isArmed()
- Returns whether the menu item is "armed".
- Returns:
- true if the menu item is armed, and it can be selected
- See Also:
setArmed(boolean)
setEnabled
public void setEnabled(boolean b)
- Enables or disables the menu item.
- Overrides:
setEnabled in class AbstractButton
- Parameters:
b - true to enable the item- See Also:
Component.isEnabled(),
Component.isLightweight()
setAccelerator
public void setAccelerator(KeyStroke keyStroke)
- Sets the key combination which invokes the menu item's
action listeners without navigating the menu hierarchy. It is the
UI's responsibility to install the correct action. Note that
when the keyboard accelerator is typed, it will work whether or
not the menu is currently displayed.
- Parameters:
keyStroke - the KeyStroke which will
serve as an accelerator
getAccelerator
public KeyStroke getAccelerator()
- Returns the
KeyStroke which serves as an accelerator
for the menu item.
- Returns:
- a
KeyStroke object identifying the
accelerator key
configurePropertiesFromAction
protected void configurePropertiesFromAction(Action a)
- Sets the properties on this button to match those in the specified
Action. Refer to
Swing Components Supporting Action for more
details as to which properties this sets.
- Overrides:
configurePropertiesFromAction in class AbstractButton
- Parameters:
a - the Action from which to get the properties,
or null- Since:
- 1.3
- See Also:
Action,
AbstractButton.setAction(javax.swing.Action)
actionPropertyChanged
protected void actionPropertyChanged(Action action,
String propertyName)
- Updates the button's state in response to property changes in the
associated action. This method is invoked from the
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:
actionPropertyChanged in class AbstractButton
- Parameters:
action - the Action associated with this buttonpropertyName - the name of the property that changed- Since:
- 1.6
- See Also:
Action,
AbstractButton.configurePropertiesFromAction(javax.swing.Action)
processMouseEvent
public void processMouseEvent(MouseEvent e,
MenuElement[] path,
MenuSelectionManager manager)
- Processes a mouse event forwarded from the
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:
processMouseEvent in interface MenuElement
- Parameters:
e - a MouseEventpath - the MenuElement path arraymanager - the MenuSelectionManager
processKeyEvent
public void processKeyEvent(KeyEvent e,
MenuElement |