- All Implemented Interfaces:
MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
PopupMenu
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 TypeClassDescriptionprotected class
Inner class of Menu used to provide default support for accessibility.Nested classes/interfaces declared in class java.awt.MenuItem
MenuItem.AccessibleAWTMenuItem
Nested classes/interfaces declared in class java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAdds the specified menu item to this menu.void
Adds an item with the specified label to this menu.void
Creates the menu's peer.void
Adds a separator line, or a hypen, to the menu at the current position.int
Deprecated.Gets the AccessibleContext associated with this Menu.getItem(int index)
Gets the item located at the specified index of this menu.int
Get the number of items in this menu.void
Inserts a menu item into this menu at the specified position.void
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
Indicates whether this menu is a tear-off menu.Returns a string representing the state of thisMenu
.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
Removes all items from this menu.void
Removes the menu's peer.Methods declared in class java.awt.MenuItem
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getListeners, getShortcut, isEnabled, processActionEvent, processEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
Methods declared in class java.awt.MenuComponent
dispatchEvent, getFont, getName, getParent, getTreeLock, postEvent, setFont, setName, toString
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface java.awt.MenuContainer
getFont, postEvent
-
Constructor Details
-
Menu
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
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
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
- iftrue
, 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. -
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 classMenuComponent
-
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.As of JDK version 1.1, replaced bygetItemCount()
.Returns the number of items in this menu.- Returns:
- the number of items in this menu
-
getItem
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
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
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
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 ofindex
is less than zero- Since:
- 1.1
- See Also:
add(java.lang.String)
,add(java.awt.MenuItem)
-
insert
Inserts a menu item with the specified label into this menu at the specified position. This is a convenience method forinsert(menuItem, index)
.- Parameters:
label
- the text on the itemindex
- the position at which the menu item should be inserted- Throws:
IllegalArgumentException
- if the value ofindex
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 hypen, 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 ofindex
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
Removes the specified menu item from this menu.- Specified by:
remove
in interfaceMenuContainer
- Parameters:
item
- the item to be removed from the menu. Ifitem
isnull
or is not in this menu, this method does nothing.
-
removeAll
public void removeAll()Removes all items from this menu.- Since:
- 1.1
-
paramString
Returns a string representing the state of thisMenu
. 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 benull
.- Overrides:
paramString
in classMenuItem
- Returns:
- the parameter string of this menu
-
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 interfaceAccessible
- Overrides:
getAccessibleContext
in classMenuItem
- Returns:
- an AccessibleAWTMenu that serves as the AccessibleContext of this Menu
- Since:
- 1.3
-
getItemCount()
.