public class MenuItem extends MenuComponent implements Accessible
All items in a menu must belong to the class MenuItem
, or one of its subclasses.
The default MenuItem
object embodies a simple labeled menu item.
This picture of a menu bar shows five menu items:
The first two items are simple menu items, labeled "Basic"
and "Simple"
. Following these two items is a separator, which is itself a menu item, created with the label "-"
. Next is an instance of CheckboxMenuItem
labeled "Check"
. The final menu item is a submenu labeled "More Examples"
, and this submenu is an instance of Menu
.
When a menu item is selected, AWT sends an action event to the menu item. Since the event is an instance of ActionEvent
, the processEvent
method examines the event and passes it along to processActionEvent
. The latter method redirects the event to any ActionListener
objects that have registered an interest in action events generated by this menu item.
Note that the subclass Menu
overrides this behavior and does not send any event to the frame until one of its subitems is selected.
Modifier and Type | Class and Description |
---|---|
protected class |
MenuItem.AccessibleAWTMenuItem Inner class of MenuItem used to provide default support for accessibility. |
MenuComponent.AccessibleAWTMenuComponent
public MenuItem() throws HeadlessException
Constructs a new MenuItem with an empty label and no keyboard shortcut.
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true.GraphicsEnvironment.isHeadless()
public MenuItem(String label) throws HeadlessException
Constructs a new MenuItem with the specified label and no keyboard shortcut. Note that use of "-" in a label is reserved to indicate a separator between menu items. By default, all menu items except for separators are enabled.
label
- the label for this menu item.HeadlessException
- if GraphicsEnvironment.isHeadless() returns true.GraphicsEnvironment.isHeadless()
public MenuItem(String label, MenuShortcut s) throws HeadlessException
Create a menu item with an associated keyboard shortcut. Note that use of "-" in a label is reserved to indicate a separator between menu items. By default, all menu items except for separators are enabled.
label
- the label for this menu item.s
- the instance of MenuShortcut
associated with this menu item.HeadlessException
- if GraphicsEnvironment.isHeadless() returns true.GraphicsEnvironment.isHeadless()
public void addNotify()
Creates the menu item's peer. The peer allows us to modify the appearance of the menu item without changing its functionality.
public String getLabel()
Gets the label for this menu item.
null
if this menu item has no label.setLabel(java.lang.String)
public void setLabel(String label)
Sets the label for this menu item to the specified label.
label
- the new label, or null
for no label.getLabel()
public boolean isEnabled()
Checks whether this menu item is enabled.
setEnabled(boolean)
public void setEnabled(boolean b)
Sets whether or not this menu item can be chosen.
b
- if true
, enables this menu item; if false
, disables it.isEnabled()
@Deprecated public void enable()
Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean)
.
@Deprecated public void enable(boolean b)
Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean)
.
@Deprecated public void disable()
Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean)
.
public MenuShortcut getShortcut()
Get the MenuShortcut
object associated with this menu item,
null
if none has been specified.setShortcut(java.awt.MenuShortcut)
public void setShortcut(MenuShortcut s)
Set the MenuShortcut
object associated with this menu item. If a menu shortcut is already associated with this menu item, it is replaced.
s
- the menu shortcut to associate with this menu item.getShortcut()
public void deleteShortcut()
Delete any MenuShortcut
object associated with this menu item.
protected final void enableEvents(long eventsToEnable)
Enables event delivery to this menu item for events to be defined by the specified event mask parameter
Since event types are automatically enabled when a listener for that type is added to the menu item, this method only needs to be invoked by subclasses of MenuItem
which desire to have the specified event types delivered to processEvent
regardless of whether a listener is registered.
eventsToEnable
- the event mask defining the event typesprocessEvent(java.awt.AWTEvent)
, disableEvents(long)
, Component.enableEvents(long)
protected final void disableEvents(long eventsToDisable)
Disables event delivery to this menu item for events defined by the specified event mask parameter.
eventsToDisable
- the event mask defining the event typesprocessEvent(java.awt.AWTEvent)
, enableEvents(long)
, Component.disableEvents(long)
public void setActionCommand(String command)
Sets the command name of the action event that is fired by this menu item.
By default, the action command is set to the label of the menu item.
command
- the action command to be set for this menu item.getActionCommand()
public String getActionCommand()
Gets the command name of the action event that is fired by this menu item.
setActionCommand(java.lang.String)
public void addActionListener(ActionListener l)
Adds the specified action listener to receive action events from this menu item. If l is null, no exception is thrown and no action is performed.
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the action listener.removeActionListener(java.awt.event.ActionListener)
, getActionListeners()
, ActionEvent
, ActionListener
public void removeActionListener(ActionListener l)
Removes the specified action listener so it no longer receives action events from this menu item. If l is null, no exception is thrown and no action is performed.
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the action listener.addActionListener(java.awt.event.ActionListener)
, getActionListeners()
, ActionEvent
, ActionListener
public ActionListener[] getActionListeners()
Returns an array of all the action listeners registered on this menu item.
ActionListener
s or an empty array if no action listeners are currently registeredaddActionListener(java.awt.event.ActionListener)
, removeActionListener(java.awt.event.ActionListener)
, ActionEvent
, ActionListener
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Returns an array of all the objects currently registered as FooListener
s upon this MenuItem
. FooListener
s are registered using the addFooListener
method.
You can specify the listenerType
argument with a class literal, such as FooListener.class
. For example, you can query a MenuItem
m
for its action listeners with the following code:
ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class));If no such listeners exist, this method returns an empty array.
listenerType
- the type of listeners requested; this parameter should specify an interface that descends from java.util.EventListener
FooListener
s on this menu item, or an empty array if no such listeners have been addedClassCastException
- if listenerType
doesn't specify a class or interface that implements java.util.EventListener
getActionListeners()
protected void processEvent(AWTEvent e)
Processes events on this menu item. If the event is an instance of ActionEvent
, it invokes processActionEvent
, another method defined by MenuItem
.
Currently, menu items only support action events.
Note that if the event parameter is null
the behavior is unspecified and may result in an exception.
processEvent
in class MenuComponent
e
- the eventprocessActionEvent(java.awt.event.ActionEvent)
protected void processActionEvent(ActionEvent e)
Processes action events occurring on this menu item, by dispatching them to any registered ActionListener
objects. This method is not called unless action events are enabled for this component. Action events are enabled when one of the following occurs:
ActionListener
object is registered via addActionListener
. enableEvents
. Note that if the event parameter is null
the behavior is unspecified and may result in an exception.
e
- the action eventActionEvent
, ActionListener
, enableEvents(long)
public String paramString()
Returns a string representing the state of this MenuItem
. 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 MenuComponent
public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this MenuItem. For menu items, the AccessibleContext takes the form of an AccessibleAWTMenuItem. A new AccessibleAWTMenuItem instance is created if necessary.
getAccessibleContext
in interface Accessible
getAccessibleContext
in class MenuComponent
© 1993–2017, 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.