Class 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); 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:
Property Summary
| Type | Property | Description |
|---|---|---|
final ObjectProperty |
content |
The node to display within this CustomMenuItem. |
final BooleanProperty |
hideOnClick |
If true, this menu item, and all visible menus, will be hidden when this menu item is clicked on. |
Properties declared in class javafx.scene.control.MenuItem
accelerator, disable, graphic, id, mnemonicParsing, onAction, onMenuValidation, parentMenu, parentPopup, style, text, visible
Field Summary
Fields declared in class javafx.scene.control.MenuItem
MENU_VALIDATION_EVENT
Constructor Summary
| Constructor | Description |
|---|---|
CustomMenuItem() |
Creates a default CustomMenuItem instance. |
CustomMenuItem |
Constructs a CustomMenuItem and initializes its content with the node specified. |
CustomMenuItem |
Constructs a CustomMenuItem and sets the content to the node specified. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
final ObjectProperty |
contentProperty() |
The node to display within this CustomMenuItem. |
final Node |
getContent() |
Gets the value of the content property. |
final BooleanProperty |
hideOnClickProperty() |
If true, this menu item, and all visible menus, will be hidden when this menu item is clicked on. |
final boolean |
isHideOnClick() |
Gets the value of the hideOnClick property. |
final void |
setContent |
Sets the value of the content property. |
final void |
setHideOnClick |
Sets the value of the hideOnClick property. |
Methods declared in class javafx.scene.control.MenuItem
acceleratorProperty, buildEventDispatchChain, disableProperty, fire, getAccelerator, getCssMetaData, getGraphic, getId, getOnAction, getOnMenuValidation, getParentMenu, getParentPopup, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getText, getTypeSelector, getUserData, graphicProperty, idProperty, isDisable, isMnemonicParsing, isVisible, mnemonicParsingProperty, onActionProperty, onMenuValidationProperty, parentMenuProperty, parentPopupProperty, setAccelerator, setDisable, setGraphic, setId, setMnemonicParsing, setOnAction, setOnMenuValidation, setParentMenu, setParentPopup, setStyle, setText, setUserData, setVisible, styleProperty, textProperty, visibleProperty
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javafx.event.EventTarget
addEventFilter, addEventHandler, removeEventFilter, removeEventHandler
Methods declared in interface javafx.css.Styleable
getStyleableNode
Property Details
content
public final ObjectProperty<Node> contentProperty
- See Also:
hideOnClick
public final BooleanProperty hideOnClickProperty
- Default value:
- true
- See Also:
Constructor Details
CustomMenuItem
public CustomMenuItem()
CustomMenuItem
public CustomMenuItem(Node node)
- Parameters:
-
node- to be embedded inside this CustomMenuItem
CustomMenuItem
public CustomMenuItem(Node node, boolean hideOnClick)
- Parameters:
-
node- to be embedded inside this CustomMenuItem -
hideOnClick- if false the menu will not hide when the user interacts with the node.
Method Details
setContent
public final void setContent(Node value)
content property.- Property description:
- The node to display within this CustomMenuItem.
- Parameters:
-
value- the value for thecontentproperty - See Also:
getContent
public final Node getContent()
content property.- Property description:
- The node to display within this CustomMenuItem.
- Returns:
- the value of the
contentproperty - See Also:
contentProperty
public final ObjectProperty<Node> contentProperty()
- Returns:
- the
contentproperty - See Also:
setHideOnClick
public final void setHideOnClick(boolean value)
hideOnClick property.- Property description:
- If true, this menu item, and all visible menus, will be hidden when this menu item is clicked on.
- Default value:
- true
- Parameters:
-
value- the value for thehideOnClickproperty - See Also:
isHideOnClick
public final boolean isHideOnClick()
hideOnClick property.- Property description:
- If true, this menu item, and all visible menus, will be hidden when this menu item is clicked on.
- Default value:
- true
- Returns:
- the value of the
hideOnClickproperty - See Also:
hideOnClickProperty
public final BooleanProperty hideOnClickProperty()
- Default value:
- true
- Returns:
- the
hideOnClickproperty - See Also:
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.