| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
Action
s. 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 {@link java.beans.XMLEncoder}.
Nested Class Summary | |
---|---|
protected class |
This class implements accessibility support for the JMenuItem class. |
Nested classes/interfaces inherited from class javax.swing.AbstractButton |
---|
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary |
---|
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Constructor Summary | |
---|---|
Creates a JMenuItem with no set text or icon.
|
|
Creates a menu item whose properties are taken from the specified Action .
|
|
Creates a JMenuItem with the specified icon.
|
|
Creates a JMenuItem with the specified text.
|
|
Creates a JMenuItem with the specified text and icon.
|
|
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 |
Adds a MenuDragMouseListener to the menu item.
|
void |
Adds a MenuKeyListener to the menu item.
|
protected void |
Sets the properties on this button to match those in the specified Action .
|
protected void |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
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 |
Returns the KeyStroke which serves as an accelerator
for the menu item.
|
AccessibleContext |
Returns the AccessibleContext associated with this
JMenuItem .
|
Component |
Returns the java.awt.Component used to paint
this object.
|
MenuDragMouseListener[] |
Returns an array of all the MenuDragMouseListener s added
to this JMenuItem with addMenuDragMouseListener().
|
MenuKeyListener[] |
Returns an array of all the MenuKeyListener s added
to this JMenuItem with addMenuKeyListener().
|
MenuElement[] |
This method returns an array containing the sub-menu components for this menu component. |
String |
Returns the suffix used to construct the name of the L&F class used to render this component. |
protected void |
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 |
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 |
Handles mouse drag in a menu. |
void |
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 |
Removes a MenuDragMouseListener from the menu item.
|
void |
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 java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JMenuItem()
JMenuItem
with no set text or icon.
public JMenuItem(Action a)
Action
.
a
- the action of the JMenuItem
public JMenuItem(Icon icon)
JMenuItem
with the specified icon.
icon
- the icon of the JMenuItem
public JMenuItem(String text)
JMenuItem
with the specified text.
text
- the text of the JMenuItem
public JMenuItem(String text, Icon icon)
JMenuItem
with the specified text and icon.
text
- the text of the JMenuItem
icon
- the icon of the JMenuItem
public JMenuItem(String text, int mnemonic)
JMenuItem
with the specified text and
keyboard mnemonic.
text
- the text of the JMenuItem
mnemonic
- the keyboard mnemonic for the JMenuItem
Method Detail |
---|
protected void actionPropertyChanged(Action action, String propertyName)
actionPropertyChanged
in class AbstractButton
action
propertyName
public void addMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener
to the menu item.
l
- the MenuDragMouseListener
to be addedpublic void addMenuKeyListener(MenuKeyListener l)
MenuKeyListener
to the menu item.
l
- the MenuKeyListener
to be addedprotected void configurePropertiesFromAction(Action a)
configurePropertiesFromAction
in class AbstractButton
a
protected void fireMenuDragMouseDragged(MenuDragMouseEvent event)
event
- a MenuDragMouseEvent
protected void fireMenuDragMouseEntered(MenuDragMouseEvent event)
event
- a MenuMouseDragEvent
protected void fireMenuDragMouseExited(MenuDragMouseEvent event)
event
- a MenuDragMouseEvent
protected void fireMenuDragMouseReleased(MenuDragMouseEvent event)
event
- a MenuDragMouseEvent
protected void fireMenuKeyPressed(MenuKeyEvent event)
event
- a MenuKeyEvent
protected void fireMenuKeyReleased(MenuKeyEvent event)
event
- a MenuKeyEvent
protected void fireMenuKeyTyped(MenuKeyEvent event)
event
- a MenuKeyEvent
public KeyStroke getAccelerator()
KeyStroke
which serves as an accelerator
for the menu item.
KeyStroke
object identifying the
accelerator keypublic AccessibleContext getAccessibleContext()
AccessibleContext
associated with this
JMenuItem
. For JMenuItem
s,
the AccessibleContext
takes the form of an
AccessibleJMenuItem
.
A new AccessibleJMenuItme instance is created if necessary.
getAccessibleContext
in class JComponent
AccessibleJMenuItem
that serves as the
AccessibleContext
of this JMenuItem
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.
Component
that paints this menu itempublic MenuDragMouseListener[] getMenuDragMouseListeners()
MenuDragMouseListener
s added
to this JMenuItem with addMenuDragMouseListener().
MenuDragMouseListener
s added or an empty
array if no listeners have been addedpublic MenuKeyListener[] getMenuKeyListeners()
MenuKeyListener
s added
to this JMenuItem with addMenuKeyListener().
MenuKeyListener
s added or an empty
array if no listeners have been addedpublic MenuElement[] getSubElements()
MenuElement
spublic String getUIClassID()
getUIClassID
in class JComponent
protected void init(String text, Icon icon)
init
in class AbstractButton
text
- the text of the JMenuItem
icon
- the icon of the JMenuItem
public boolean isArmed()
public void menuSelectionChanged(boolean isIncluded)
MenuSelectionManager
when the
MenuElement
is selected or unselected.
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 sameprotected 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
.
paramString
in class AbstractButton
JMenuItem
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
.
e
- a KeyEvent
path
- the MenuElement
path arraymanager
- the MenuSelectionManager
public void processMenuDragMouseEvent(MenuDragMouseEvent e)
e
- a MenuDragMouseEvent
objectpublic void processMenuKeyEvent(MenuKeyEvent e)
e
- a MenuKeyEvent
objectpublic 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
.
e
- a MouseEvent
path
- the MenuElement
path arraymanager
- the MenuSelectionManager
public void removeMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener
from the menu item.
l
- the MenuDragMouseListener
to be removedpublic void removeMenuKeyListener(MenuKeyListener l)
MenuKeyListener
from the menu item.
l
- the MenuKeyListener
to be removedpublic void setAccelerator(KeyStroke keyStroke)
keyStroke
- the KeyStroke
which will
serve as an acceleratorpublic void setArmed(boolean b)
b
- true to arm the menu item so it can be selectedpublic void setEnabled(boolean b)
setEnabled
in class AbstractButton
b
- true to enable the itempublic void setModel(ButtonModel newModel)
setModel
in class AbstractButton
newModel
public void setUI(MenuItemUI ui)
ui
- the JMenuItemUI
L&F objectpublic void updateUI()
updateUI
in class AbstractButton
| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |