Class 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:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    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 
    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 
    Inner class of MenuComponent used to provide default support for accessibility.
  • Constructor Summary

    Constructors
    Constructor
    Description
    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
    Adds the specified menu item to this menu.
    void
    add(String label)
    Adds an item with the specified label to this menu.
    void
    Creates the menu's peer.
    void
    Adds a separator line, or a hyphen, to the menu at the current position.
    int
    Deprecated.
    As of JDK version 1.1, replaced by getItemCount().
    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
    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
    Indicates whether this menu is a tear-off menu.
    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
    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 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
    Adds the specified action listener to receive action events from this menu item.
    void
    Delete any MenuShortcut object associated with this menu item.
    void
    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
    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
    Gets the command name of the action event that is fired by this menu item.
    Returns an array of all the action listeners registered on this menu item.
    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.
    Get the MenuShortcut object associated with this menu item,
    boolean
    Checks whether this menu item is enabled.
    protected void
    Processes action events occurring on this menu item, by dispatching them to any registered ActionListener objects.
    protected void
    Processes events on this menu item.
    void
    Removes the specified action listener so it no longer receives action events from this menu item.
    void
    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
    Sets the label for this menu item to the specified label.
    void
    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
    Delivers an event to this component or one of its sub components.
    Gets the font used for this menu component.
    Gets the name of the menu component.
    Returns the parent container for this menu component.
    protected final Object
    Gets this component's locking object (the object that owns the thread synchronization monitor) for AWT component-tree and layout operations.
    boolean
    Deprecated.
    As of JDK version 1.1, replaced by dispatchEvent.
    void
    Sets the font to be used for this menu component to the specified font.
    void
    Sets the name of the component to the specified string.
    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
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.

    Methods declared in interface MenuContainer

    getFont, postEvent
    Modifier and Type
    Method
    Description
    Returns the font in use by this container.
    boolean
    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:
    • 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:
    • 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:
  • 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:
    • 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

      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:
    • 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:
    • addSeparator

      public void addSeparator()
      Adds a separator line, or a hyphen, to the menu at the current position.
      See Also:
    • 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:
    • 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