Class CustomMenuItem

java.lang.Object
javafx.scene.control.MenuItem
javafx.scene.control.CustomMenuItem
All Implemented Interfaces:
Styleable, EventTarget
Direct Known Subclasses:
SeparatorMenuItem

public class CustomMenuItem extends MenuItem

A MenuItem that allows for arbitrary nodes to be embedded within it, by assigning a Node to the content property. CustomMenuItem attempts to make arbitrary nodes appear more natural in the Menu. For example, you automatically get hover highlighting when the user hovers their mouse over the node (or navigates to it using keyboard or other alternate means).

A useful property of this class is hideOnClick. This boolean specifies whether the CustomMenuItem will be automatically hidden should the user click within the bounds of the CustomMenuItem. This is of particular use when the node inside this CustomMenuItem is a control that requires user interaction, as by setting the hideOnClick property to false means the user can interact with it without the menu hiding. Note that by default hideOnClick is true.

An example of how to use CustomMenuItem is shown below.

 CustomMenuItem customMenuItem = new CustomMenuItem(new Slider());
 customMenuItem.setHideOnClick(false);

 Menu menu = new Menu("Brightness");
 menu.getItems().add(customMenuItem);
 MenuBar menuBar = new MenuBar(menu);
Image of the CustomMenuItem control

The slider is horizontally centered when the menu is visible, and interacting with the slider will not result in the menu disappearing.

Since:
JavaFX 2.0
See Also: