Spec-Zone.ru › OpenJDK 27

Class Menu

java.lang.Object
java.awt.MenuComponent
java.awt.MenuItem
java.awt.Menu
All Implemented Interfaces:
MenuContainer, Serializable, Accessible
Direct Known Subclasses:
PopupMenu
public class Menu extends MenuItem implements MenuContainer, Accessible
A Menu object is a pull-down menu component that is deployed from a menu bar.

A menu can optionally be a tear-off menu. A tear-off menu can be opened and dragged away from its parent menu bar or menu. It remains on the screen after the mouse button has been released. The mechanism for tearing off a menu is platform dependent, since the look and feel of the tear-off menu is determined by its peer. On platforms that do not support tear-off menus, the tear-off property is ignored.

Each item in a menu must belong to the MenuItem class. It can be an instance of MenuItem, a submenu (an instance of Menu), or a check box (an instance of CheckboxMenuItem).

Since:
1.0
See Also:
  • MenuItem
  • CheckboxMenuItem
  • Serialized Form

Nested Class Summary

Modifier and Type Class Description
protected class  Menu.AccessibleAWTMenu
Inner class of Menu used to provide default support for accessibility.

Nested classes/interfaces declared in class MenuItem

MenuItem.AccessibleAWTMenuItem
Modifier and Type Class Description
protected class  MenuItem.AccessibleAWTMenuItem
Inner class of MenuItem used to provide default support for accessibility.

Nested classes/interfaces declared in class MenuComponent

MenuComponent.AccessibleAWTMenuComponent
Modifier and Type Class Description
protected class  MenuComponent.AccessibleAWTMenuComponent
Inner class of MenuComponent used to provide default support for accessibility.

Constructor Summary

Constructor Description
Menu()
Constructs a new menu with an empty label.
Menu(String label)
Constructs a new menu with the specified label.
Menu(String label, boolean tearOff)
Constructs a new menu with the specified label, indicating whether the menu can be torn off.

Method Summary

Modifier and Type Method Description
MenuItem add(MenuItem mi)
Adds the specified menu item to this menu.
void add(String label)
Adds an item with the specified label to this menu.
void addNotify()
Creates the menu's peer.
void addSeparator()
Adds a separator line, or a hyphen, to the menu at the current position.
int countItems()
Deprecated.
As of JDK version 1.1, replaced by getItemCount().
AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this Menu.
MenuItem getItem(int index)
Gets the item located at the specified index of this menu.
int getItemCount()
Get the number of items in this menu.
void insert(MenuItem menuitem, int index)
Inserts a menu item into this menu at the specified position.
void insert(String label, int index)
Inserts a menu item with the specified label into this menu at the specified position.
void insertSeparator(int index)
Inserts a separator at the specified position.
boolean isTearOff()
Indicates whether this menu is a tear-off menu.
String paramString()
Returns a string representing the state of this Menu.
void remove(int index)
Removes the menu item at the specified index from this menu.
void remove(MenuComponent item)
Removes the specified menu item from this menu.
void removeAll()
Removes all items from this menu.
void removeNotify()
Removes the menu's peer.

Methods declared in class MenuItem

addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getListeners, getShortcut, isEnabled, processActionEvent, processEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
Modifier and Type Method Description
void addActionListener(ActionListener l)
Adds the specified action listener to receive action events from this menu item.
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 final 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 final void enableEvents(long eventsToEnable)
Enables event delivery to this menu item for events to be defined by the specified event mask parameter
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<T> listenerType)
Returns an array of all the objects currently registered as FooListeners upon this MenuItem.
MenuShortcut getShortcut()
Get the MenuShortcut object associated with this menu item,
boolean isEnabled()
Checks whether this menu item is enabled.
protected void processActionEvent(ActionEvent e)
Processes action events occurring on this menu item, by dispatching them to any registered ActionListener 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 declared in class MenuComponent

dispatchEvent, getFont, getName, getParent, getTreeLock, postEvent, setFont, setName, toString
Modifier and Type Method Description
final void dispatchEvent(AWTEvent e)
Delivers an event to this component or one of its sub components.
Font getFont()
Gets the font used for this menu component.
String getName()
Gets the name of the menu component.
MenuContainer getParent()
Returns the parent container for this menu component.
protected final Object getTreeLock()
Gets this component's locking object (the object that owns the thread synchronization monitor) for AWT component-tree and layout operations.
boolean postEvent(Event evt)
Deprecated.
As of JDK version 1.1, replaced by dispatchEvent.
void setFont(Font f)
Sets the font to be used for this menu component to the specified font.
void setName(String name)
Sets the name of the component to the specified string.
String toString()
Returns a representation of this menu component as a string.

Methods declared in class Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Modifier and Type Method Description
protected Object clone()
Creates and returns a copy of this object.
boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void finalize()
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
final Class<?> getClass()
Returns the runtime class of this Object.
int hashCode()
Returns a hash code value for this object.
final void notify()
Wakes up a single thread that is waiting on this object's monitor.
final void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
final void wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
final void wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
final void wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

Methods declared in interface MenuContainer

getFont, postEvent
Modifier and Type Method Description
Font getFont()
Returns the font in use by this container.
boolean postEvent(Event evt)
Deprecated.
As of JDK version 1.1 replaced by dispatchEvent(AWTEvent).

Constructor Details

Menu

public Menu() throws HeadlessException
Constructs a new menu with an empty label. This menu is not a tear-off menu.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
Since:
1.1
See Also:
  • GraphicsEnvironment.isHeadless()

Menu

public Menu(String label) throws HeadlessException
Constructs a new menu with the specified label. This menu is not a tear-off menu.
Parameters:
label - the menu's label in the menu bar, or in another menu of which this menu is a submenu.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
  • GraphicsEnvironment.isHeadless()

Menu

public Menu(String label, boolean tearOff) throws HeadlessException
Constructs a new menu with the specified label, indicating whether the menu can be torn off.

Tear-off functionality may not be supported by all implementations of AWT. If a particular implementation doesn't support tear-off menus, this value is silently ignored.

Parameters:
label - the menu's label in the menu bar, or in another menu of which this menu is a submenu.
tearOff - if true, the menu is a tear-off menu.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
  • GraphicsEnvironment.isHeadless()

Method Details

addNotify

public void addNotify()
Creates the menu's peer. The peer allows us to modify the appearance of the menu without changing its functionality.
Overrides:
addNotify in class MenuItem

removeNotify

public void removeNotify()
Removes the menu's peer. The peer allows us to modify the appearance of the menu without changing its functionality.
Overrides:
removeNotify in class MenuComponent

isTearOff

public boolean isTearOff()
Indicates whether this menu is a tear-off menu.

Tear-off functionality may not be supported by all implementations of AWT. If a particular implementation doesn't support tear-off menus, this value is silently ignored.

Returns:
true if this is a tear-off menu; false otherwise.

getItemCount

public int getItemCount()
Get the number of items in this menu.
Returns:
the number of items in this menu
Since:
1.1

countItems

@Deprecated public int countItems()
Deprecated.
As of JDK version 1.1, replaced by getItemCount().
Returns the number of items in this menu.
Returns:
the number of items in this menu

getItem

public MenuItem getItem(int index)
Gets the item located at the specified index of this menu.
Parameters:
index - the position of the item to be returned.
Returns:
the item located at the specified index.

add

public MenuItem add(MenuItem mi)
Adds the specified menu item to this menu. If the menu item has been part of another menu, removes it from that menu.
Parameters:
mi - the menu item to be added
Returns:
the menu item added
See Also:
  • insert(java.lang.String, int)
  • insert(java.awt.MenuItem, int)

add

public void add(String label)
Adds an item with the specified label to this menu.
Parameters:
label - the text on the item
See Also:
  • insert(java.lang.String, int)
  • insert(java.awt.MenuItem, int)

insert

public void insert(MenuItem menuitem, int index)
Inserts a menu item into this menu at the specified position.
Parameters:
menuitem - the menu item to be inserted.
index - the position at which the menu item should be inserted.
Throws:
IllegalArgumentException - if the value of index is less than zero
Since:
1.1
See Also:
  • add(java.lang.String)
  • add(java.awt.MenuItem)

insert

public void insert(String label, int index)
Inserts a menu item with the specified label into this menu at the specified position. This is a convenience method for insert(menuItem, index).
Parameters:
label - the text on the item
index - the position at which the menu item should be inserted
Throws:
IllegalArgumentException - if the value of index is less than zero
Since:
1.1
See Also:
  • add(java.lang.String)
  • add(java.awt.MenuItem)

addSeparator

public void addSeparator()
Adds a separator line, or a hyphen, to the menu at the current position.
See Also:
  • insertSeparator(int)

insertSeparator

public void insertSeparator(int index)
Inserts a separator at the specified position.
Parameters:
index - the position at which the menu separator should be inserted.
Throws:
IllegalArgumentException - if the value of index is less than 0.
Since:
1.1
See Also:
  • addSeparator()

remove

public void remove(int index)
Removes the menu item at the specified index from this menu.
Parameters:
index - the position of the item to be removed.

remove

public void remove(MenuComponent item)
Removes the specified menu item from this menu.
Specified by:
remove in interface MenuContainer
Parameters:
item - the item to be removed from the menu. If item is null or is not in this menu, this method does nothing.

removeAll

public void removeAll()
Removes all items from this menu.
Since:
1.1

paramString

public String paramString()
Returns a string representing the state of this Menu. 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 in class MenuItem
Returns:
the parameter string of this menu

getAccessibleContext

public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this Menu. For menus, the AccessibleContext takes the form of an AccessibleAWTMenu. A new AccessibleAWTMenu instance is created if necessary.
Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class MenuItem
Returns:
an AccessibleAWTMenu that serves as the AccessibleContext of this Menu
Since:
1.3

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API