MenuItem (Java 2 Platform SE 5.0) (original) (raw)


java.awt

Class MenuItem

java.lang.Object extended by java.awt.MenuComponent extended by java.awt.MenuItem

All Implemented Interfaces:

Serializable, Accessible

Direct Known Subclasses:

CheckboxMenuItem, Menu


public class MenuItem

extends MenuComponent

implements Accessible

All items in a menu must belong to the classMenuItem, 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 following text describes this graphic.
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 toprocessActionEvent. 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.

See Also:

Serialized Form


Nested Class Summary
protected class MenuItem.AccessibleAWTMenuItem Inner class of MenuItem used to provide default support for accessibility.
Nested classes/interfaces inherited from class java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent
Constructor Summary
MenuItem() Constructs a new MenuItem with an empty label and no keyboard shortcut.
MenuItem(String label) Constructs a new MenuItem with the specified label and no keyboard shortcut.
[MenuItem](../../java/awt/MenuItem.html#MenuItem%28java.lang.String, java.awt.MenuShortcut%29)(String label,MenuShortcut s) Create a menu item with an associated keyboard shortcut.
Method Summary
void addActionListener(ActionListener l) Adds the specified action listener to receive action events from this menu item.
void addNotify() Creates the menu item's peer.
void deleteShortcut() Delete any MenuShortcut object associated with this menu item.
void disable() Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).
protected void disableEvents(long eventsToDisable) Disables event delivery to this menu item for events defined by the specified event mask parameter.
void enable() Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).
void enable(boolean b) Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).
protected void enableEvents(long eventsToEnable) Enables event delivery to this menu item for events to be defined by the specified event mask parameter
AccessibleContext getAccessibleContext() Gets the AccessibleContext associated with this MenuItem.
String getActionCommand() Gets the command name of the action event that is fired by this menu item.
ActionListener[] getActionListeners() Returns an array of all the action listeners registered on this menu item.
String getLabel() Gets the label for this menu item.
<T extends EventListener> T[] getListeners(Class listenerType) Returns an array of all the objects currently registered as _Foo_Listeners upon this MenuItem.
MenuShortcut getShortcut() Get the MenuShortcut object associated with this menu item,
boolean isEnabled() Checks whether this menu item is enabled.
String paramString() Returns a string representing the state of this MenuItem.
protected void processActionEvent(ActionEvent e) Processes action events occurring on this menu item, by dispatching them to any registeredActionListener objects.
protected void processEvent(AWTEvent e) Processes events on this menu item.
void removeActionListener(ActionListener l) Removes the specified action listener so it no longer receives action events from this menu item.
void setActionCommand(String command) Sets the command name of the action event that is fired by this menu item.
void setEnabled(boolean b) Sets whether or not this menu item can be chosen.
void setLabel(String label) Sets the label for this menu item to the specified label.
void setShortcut(MenuShortcut s) Set the MenuShortcut object associated with this menu item.
Methods inherited from class java.awt.MenuComponent
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, removeNotify, setFont, setName, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, [wait](../../java/lang/Object.html#wait%28long, int%29)
Constructor Detail

public MenuItem() throws HeadlessException

Constructs a new MenuItem with an empty label and no keyboard shortcut.

Throws:

[HeadlessException](../../java/awt/HeadlessException.html "class in java.awt") - if GraphicsEnvironment.isHeadless() returns true.

Since:

JDK1.1

See Also:

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.

Parameters:

label - the label for this menu item.

Throws:

[HeadlessException](../../java/awt/HeadlessException.html "class in java.awt") - if GraphicsEnvironment.isHeadless() returns true.

Since:

JDK1.0

See Also:

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.

Parameters:

label - the label for this menu item.

s - the instance of MenuShortcut associated with this menu item.

Throws:

[HeadlessException](../../java/awt/HeadlessException.html "class in java.awt") - if GraphicsEnvironment.isHeadless() returns true.

Since:

JDK1.1

See Also:

GraphicsEnvironment.isHeadless()

Method Detail

addNotify

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.


getLabel

public String getLabel()

Gets the label for this menu item.

Returns:

the label of this menu item, or null if this menu item has no label.

Since:

JDK1.0

See Also:

setLabel(java.lang.String)


setLabel

public void setLabel(String label)

Sets the label for this menu item to the specified label.

Parameters:

label - the new label, or null for no label.

Since:

JDK1.0

See Also:

getLabel()


isEnabled

public boolean isEnabled()

Checks whether this menu item is enabled.

Since:

JDK1.0

See Also:

setEnabled(boolean)


setEnabled

public void setEnabled(boolean b)

Sets whether or not this menu item can be chosen.

Parameters:

b - if true, enables this menu item; if false, disables it.

Since:

JDK1.1

See Also:

isEnabled()


enable

@Deprecated public void enable()

Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).


enable

@Deprecated public void enable(boolean b)

Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).


disable

@Deprecated public void disable()

Deprecated. As of JDK version 1.1, replaced by setEnabled(boolean).


getShortcut

public MenuShortcut getShortcut()

Get the MenuShortcut object associated with this menu item,

Returns:

the menu shortcut associated with this menu item, or null if none has been specified.

Since:

JDK1.1

See Also:

setShortcut(java.awt.MenuShortcut)


setShortcut

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.

Parameters:

s - the menu shortcut to associate with this menu item.

Since:

JDK1.1

See Also:

getShortcut()


deleteShortcut

public void deleteShortcut()

Delete any MenuShortcut object associated with this menu item.

Since:

JDK1.1


enableEvents

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.

Parameters:

eventsToEnable - the event mask defining the event types

Since:

JDK1.1

See Also:

processEvent(java.awt.AWTEvent), disableEvents(long), Component.enableEvents(long)


disableEvents

protected final void disableEvents(long eventsToDisable)

Disables event delivery to this menu item for events defined by the specified event mask parameter.

Parameters:

eventsToDisable - the event mask defining the event types

Since:

JDK1.1

See Also:

processEvent(java.awt.AWTEvent), enableEvents(long), Component.disableEvents(long)


setActionCommand

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.

Parameters:

command - the action command to be set for this menu item.

Since:

JDK1.1

See Also:

getActionCommand()


getActionCommand

public String getActionCommand()

Gets the command name of the action event that is fired by this menu item.

Since:

JDK1.1

See Also:

setActionCommand(java.lang.String)


addActionListener

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.

Parameters:

l - the action listener.

Since:

JDK1.1

See Also:

removeActionListener(java.awt.event.ActionListener), getActionListeners(), ActionEvent, ActionListener


removeActionListener

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.

Parameters:

l - the action listener.

Since:

JDK1.1

See Also:

addActionListener(java.awt.event.ActionListener), getActionListeners(), ActionEvent, ActionListener


getActionListeners

public ActionListener[] getActionListeners()

Returns an array of all the action listeners registered on this menu item.

Returns:

all of this menu item's ActionListeners or an empty array if no action listeners are currently registered

Since:

1.4

See Also:

addActionListener(java.awt.event.ActionListener), removeActionListener(java.awt.event.ActionListener), ActionEvent, ActionListener


getListeners

public <T extends EventListener> T[] getListeners(Class listenerType)

Returns an array of all the objects currently registered as _Foo_Listeners upon this MenuItem._Foo_Listeners are registered using theadd_Foo_Listener method.

You can specify the listenerType argument with a class literal, such as_Foo_Listener.class. For example, you can query aMenuItem 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.

Parameters:

listenerType - the type of listeners requested; this parameter should specify an interface that descends fromjava.util.EventListener

Returns:

an array of all objects registered as_Foo_Listeners on this menu item, or an empty array if no such listeners have been added

Throws:

[ClassCastException](../../java/lang/ClassCastException.html "class in java.lang") - if listenerType doesn't specify a class or interface that implementsjava.util.EventListener

Since:

1.3

See Also:

getActionListeners()


processEvent

protected void processEvent(AWTEvent e)

Processes events on this menu item. If the event is an instance of ActionEvent, it invokesprocessActionEvent, 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.

Overrides:

[processEvent](../../java/awt/MenuComponent.html#processEvent%28java.awt.AWTEvent%29) in class [MenuComponent](../../java/awt/MenuComponent.html "class in java.awt")

Parameters:

e - the event

Since:

JDK1.1

See Also:

processActionEvent(java.awt.event.ActionEvent)


processActionEvent

protected void processActionEvent(ActionEvent e)

Processes action events occurring on this menu item, by dispatching them to any registeredActionListener objects. This method is not called unless action events are enabled for this component. Action events are enabled when one of the following occurs:

Note that if the event parameter is null the behavior is unspecified and may result in an exception.

Parameters:

e - the action event

Since:

JDK1.1

See Also:

ActionEvent, ActionListener, enableEvents(long)


paramString

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.

Overrides:

[paramString](../../java/awt/MenuComponent.html#paramString%28%29) in class [MenuComponent](../../java/awt/MenuComponent.html "class in java.awt")

Returns:

the parameter string of this menu item


getAccessibleContext

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.

Specified by:

[getAccessibleContext](../../javax/accessibility/Accessible.html#getAccessibleContext%28%29) in interface [Accessible](../../javax/accessibility/Accessible.html "interface in javax.accessibility")

Overrides:

[getAccessibleContext](../../java/awt/MenuComponent.html#getAccessibleContext%28%29) in class [MenuComponent](../../java/awt/MenuComponent.html "class in java.awt")

Returns:

an AccessibleAWTMenuItem that serves as the AccessibleContext of this MenuItem



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.