@DefaultProperty("items")
public class Menu
  Comment     Returned-by     Constructor-argument     Method-argument     Field-type     Type-bound     Links  

A popup menu of actionable items which is displayed to the user only upon request. When a menu is visible, in most use cases, the user can select one menu item before the menu goes back to its hidden state. This means the menu is a good place to put important functionality that does not necessarily need to be visible at all times to the user.

Menus are typically placed in a MenuBar, or as a submenu of another Menu. If the intention is to offer a context menu when the user right-clicks in a certain area of their user interface, then this is the wrong control to use. This is because when Menu is added to the scenegraph, it has a visual representation that will result in it appearing on screen. Instead, ContextMenu should be used in this circumstance.

Creating a Menu and inserting it into a MenuBar is easy, as shown below:


 final Menu menu1 = new Menu("File");
 MenuBar menuBar = new MenuBar();
 menuBar.getMenus().add(menu1);
 

A Menu is a subclass of MenuItem which means that it can be inserted into a Menu's items ObservableList, resulting in a submenu being created:


 MenuItem menu12 = new MenuItem("Open");
 menu1.getItems().add(menu12);
 

The items ObservableList allows for any MenuItem type to be inserted, including its subclasses Menu, MenuItem, RadioMenuItem, CheckMenuItem, CustomMenuItem and SeparatorMenuItem. In order to insert an arbitrary Node to a Menu, a CustomMenuItem can be used. One exception to this general rule is that SeparatorMenuItem could be used for inserting a separator.

extends MenuItem

See also:
MenuBar, MenuItem

Since:  JavaFX 2.0