Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.swt.widgets
Class Menu

    java.lang.Object
      org.eclipse.swt.widgets.Widget
          org.eclipse.swt.widgets.Menu

public class Menu
extends Widget

Instances of this class are user interface objects that contain menu items.

Styles:
  BAR, DROP_DOWN, POP_UP, NO_RADIO_GROUP
  LEFT_TO_RIGHT, RIGHT_TO_LEFT
Events:
  Help, Hide, Show

Note: Only one of BAR, DROP_DOWN and POP_UP may be specified. Only one of LEFT_TO_RIGHT or RIGHT_TO_LEFT may be specified.

IMPORTANT: This class is not intended to be subclassed.

Field Summary
`int` | `handle` the handle to the OS resource (Warning: This field is platform dependent)

Constructor Summary
`Menu(Control parent)` Constructs a new instance of this class given its parent, and sets the style for the instance so that the instance will be a popup menu on the given parent's shell.
`Menu(Decorations parent, int style)` Constructs a new instance of this class given its parent (which must be a `Decorations`) and a style value describing its behavior and appearance.
`Menu(Menu parentMenu)` Constructs a new instance of this class given its parent (which must be a `Menu`) and sets the style for the instance so that the instance will be a drop-down menu on the given parent's parent.
`Menu(MenuItem parentItem)` Constructs a new instance of this class given its parent (which must be a `MenuItem`) and sets the style for the instance so that the instance will be a drop-down menu on the given parent's parent menu.

Method Summary
`void` | `addHelpListener(HelpListener listener)` Adds the listener to the collection of listeners who will be notified when help events are generated for the control, by sending it one of the messages defined in the `HelpListener` interface.
`void` | `addMenuListener(MenuListener listener)` Adds the listener to the collection of listeners who will be notified when menus are hidden or shown, by sending it one of the messages defined in the `MenuListener` interface.
`MenuItem` | `getDefaultItem()` Returns the default menu item or null if none has been previously set.
`boolean` | `getEnabled()` Returns `true` if the receiver is enabled, and `false` otherwise.
`MenuItem` | `getItem(int index)` Returns the item at the given, zero-relative index in the receiver.
`int` | `getItemCount()` Returns the number of items contained in the receiver.
`MenuItem[]` | `getItems()` Returns an array of `MenuItem`s which are the items in the receiver.
`Decorations` | `getParent()` Returns the receiver's parent, which must be a `Decorations`.
`MenuItem` | `getParentItem()` Returns the receiver's parent item, which must be a `MenuItem` or null when the receiver is a root.
`Menu` | `getParentMenu()` Returns the receiver's parent item, which must be a `Menu` or null when the receiver is a root.
`Shell` | `getShell()` Returns the receiver's shell.
`boolean` | `getVisible()` Returns `true` if the receiver is visible, and `false` otherwise.
`int` | `indexOf(MenuItem item)` Searches the receiver's list starting at the first item (index 0) until an item is found that is equal to the argument, and returns the index of that item.
`boolean` | `isEnabled()` Returns `true` if the receiver is enabled and all of the receiver's ancestors are enabled, and `false` otherwise.
`boolean` | `isVisible()` Returns `true` if the receiver is visible and all of the receiver's ancestors are visible and `false` otherwise.
`void` | `removeHelpListener(HelpListener listener)` Removes the listener from the collection of listeners who will be notified when the help events are generated for the control.
`void` | `removeMenuListener(MenuListener listener)` Removes the listener from the collection of listeners who will be notified when the menu events are generated for the control.
`void` | `setDefaultItem(MenuItem item)` Sets the default menu item to the argument or removes the default emphasis when the argument is `null`.
`void` | `setEnabled(boolean enabled)` Enables the receiver if the argument is `true`, and disables it otherwise.
`void` | `setLocation(int x, int y)` Sets the receiver's location to the point specified by the arguments which are relative to the display.
`void` | `setLocation(Point location)` Sets the receiver's location to the point specified by the arguments which are relative to the display.
`void` | `setVisible(boolean visible)` Marks the receiver as visible if the argument is `true`, and marks it invisible otherwise.

Methods inherited from class org.eclipse.swt.widgets.Widget
`addDisposeListener, addListener, checkSubclass, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### handle

    public int handle

  the handle to the OS resource (Warning: This field is platform dependent)

Constructor Detail

### Menu

    public Menu(Control parent)

  Constructs a new instance of this class given its parent, and sets the style for the instance so that the instance will be a popup menu on the given parent's shell.

Parameters:
  `parent` - a control which will be the parent of the new instance (cannot be null)
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT.POP_UP`, `Widget.checkSubclass()`, `Widget.getStyle()`

### Menu

    public Menu(Decorations parent,
                int style)

  Constructs a new instance of this class given its parent (which must be a `Decorations`) and a style value describing its behavior and appearance.

  The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parent` - a decorations control which will be the parent of the new instance (cannot be null)
  `style` - the style of menu to construct
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT.BAR`, `SWT.DROP_DOWN`, `SWT.POP_UP`, `Widget.checkSubclass()`, `Widget.getStyle()`

### Menu

    public Menu(Menu parentMenu)

  Constructs a new instance of this class given its parent (which must be a `Menu`) and sets the style for the instance so that the instance will be a drop-down menu on the given parent's parent.

Parameters:
  `parentMenu` - a menu which will be the parent of the new instance (cannot be null)
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT.DROP_DOWN`, `Widget.checkSubclass()`, `Widget.getStyle()`

### Menu

    public Menu(MenuItem parentItem)

  Constructs a new instance of this class given its parent (which must be a `MenuItem`) and sets the style for the instance so that the instance will be a drop-down menu on the given parent's parent menu.

Parameters:
  `parentItem` - a menu item which will be the parent of the new instance (cannot be null)
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT.DROP_DOWN`, `Widget.checkSubclass()`, `Widget.getStyle()`

Method Detail

### addHelpListener

    public void addHelpListener(HelpListener listener)

  Adds the listener to the collection of listeners who will be notified when help events are generated for the control, by sending it one of the messages defined in the `HelpListener` interface.

  Parameters:
    `listener` - the listener which should be notified
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the listener is null
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `HelpListener`, `removeHelpListener(org.eclipse.swt.events.HelpListener)`

### addMenuListener

    public void addMenuListener(MenuListener listener)

  Adds the listener to the collection of listeners who will be notified when menus are hidden or shown, by sending it one of the messages defined in the `MenuListener` interface.

  Parameters:
    `listener` - the listener which should be notified
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the listener is null
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `MenuListener`, `removeMenuListener(org.eclipse.swt.events.MenuListener)`

### getDefaultItem

    public MenuItem getDefaultItem()

  Returns the default menu item or null if none has been previously set.

  Returns:
    the default menu item.
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getEnabled

    public boolean getEnabled()

  Returns `true` if the receiver is enabled, and `false` otherwise. A disabled control is typically not selectable from the user interface and draws with an inactive or "grayed" look.

  Returns:
    the receiver's enabled state
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `isEnabled()`

### getItem

    public MenuItem getItem(int index)

  Returns the item at the given, zero-relative index in the receiver. Throws an exception if the index is out of range.

  Parameters:
    `index` - the index of the item to return
  Returns:
    the item at the given index
  Throws:
    `IllegalArgumentException` -
    - ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getItemCount

    public int getItemCount()

  Returns the number of items contained in the receiver.

  Returns:
    the number of items
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getItems

    public MenuItem[] getItems()

  Returns an array of `MenuItem`s which are the items in the receiver.

  Note: This is not the actual structure used by the receiver to maintain its list of items, so modifying the array will not affect the receiver.

  Returns:
    the items in the receiver
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getParent

    public Decorations getParent()

  Returns the receiver's parent, which must be a `Decorations`.

  Returns:
    the receiver's parent
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getParentItem

    public MenuItem getParentItem()

  Returns the receiver's parent item, which must be a `MenuItem` or null when the receiver is a root.

  Returns:
    the receiver's parent item
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getParentMenu

    public Menu getParentMenu()

  Returns the receiver's parent item, which must be a `Menu` or null when the receiver is a root.

  Returns:
    the receiver's parent item
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getShell

    public Shell getShell()

  Returns the receiver's shell. For all controls other than shells, this simply returns the control's nearest ancestor shell. Shells return themselves, even if they are children of other shells.

  Returns:
    the receiver's shell
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `getParent()`

### getVisible

    public boolean getVisible()

  Returns `true` if the receiver is visible, and `false` otherwise.

  If one of the receiver's ancestors is not visible or some other condition makes the receiver not visible, this method may still indicate that it is considered visible even though it may not actually be showing.

  Returns:
    the receiver's visibility state
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### indexOf

    public int indexOf(MenuItem item)

  Searches the receiver's list starting at the first item (index 0) until an item is found that is equal to the argument, and returns the index of that item. If no item is found, returns -1.

  Parameters:
    `item` - the search item
  Returns:
    the index of the item
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the string is null
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### isEnabled

    public boolean isEnabled()

  Returns `true` if the receiver is enabled and all of the receiver's ancestors are enabled, and `false` otherwise. A disabled control is typically not selectable from the user interface and draws with an inactive or "grayed" look.

  Returns:
    the receiver's enabled state
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `getEnabled()`

### isVisible

    public boolean isVisible()

  Returns `true` if the receiver is visible and all of the receiver's ancestors are visible and `false` otherwise.

  Returns:
    the receiver's visibility state
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `getVisible()`

### removeHelpListener

    public void removeHelpListener(HelpListener listener)

  Removes the listener from the collection of listeners who will be notified when the help events are generated for the control.

  Parameters:
    `listener` - the listener which should be notified
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the listener is null
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `HelpListener`, `addHelpListener(org.eclipse.swt.events.HelpListener)`

### removeMenuListener

    public void removeMenuListener(MenuListener listener)

  Removes the listener from the collection of listeners who will be notified when the menu events are generated for the control.

  Parameters:
    `listener` - the listener which should be notified
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the listener is null
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  See Also:
    `MenuListener`, `addMenuListener(org.eclipse.swt.events.MenuListener)`

### setDefaultItem

    public void setDefaultItem(MenuItem item)

  Sets the default menu item to the argument or removes the default emphasis when the argument is `null`.

  Parameters:
    `item` - the default menu item or null
  Throws:
    `IllegalArgumentException` -
    - ERROR_INVALID_ARGUMENT - if the menu item has been disposed
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### setEnabled

    public void setEnabled(boolean enabled)

  Enables the receiver if the argument is `true`, and disables it otherwise. A disabled control is typically not selectable from the user interface and draws with an inactive or "grayed" look.

  Parameters:
    `enabled` - the new enabled state
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### setLocation

    public void setLocation(int x,
                            int y)

  Sets the receiver's location to the point specified by the arguments which are relative to the display.

  Note: This is different from most widgets where the location of the widget is relative to the parent.

  Parameters:
    `x` - the new x coordinate for the receiver
    `y` - the new y coordinate for the receiver
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### setLocation

    public void setLocation(Point location)

  Sets the receiver's location to the point specified by the arguments which are relative to the display.

  Note: This is different from most widgets where the location of the widget is relative to the parent.

  Parameters:
    `location` - the new location for the receiver
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the point is null
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  Since:
    2.1

### setVisible

    public void setVisible(boolean visible)

  Marks the receiver as visible if the argument is `true`, and marks it invisible otherwise.

  If one of the receiver's ancestors is not visible or some other condition makes the receiver not visible, marking it visible may not actually cause it to be displayed.

  Parameters:
    `visible` - the new visibility state
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.