@IDProperty(value="id") public class MenuItem extends Object implements EventTarget, Styleable
MenuItem is intended to be used in conjunction with Menu
to provide
options to users. MenuItem serves as the base class for the bulk of JavaFX menus
API.
It has a display text
property, as well as an optional graphic
node
that can be set on it.
The accelerator
property enables accessing the
associated action in one keystroke. Also, as with the Button
control,
by using the setOnAction(javafx.event.EventHandler<javafx.event.ActionEvent>)
method, you can have an instance of MenuItem
perform any action you wish.
Note: Whilst any size of graphic can be inserted into a MenuItem, the most commonly used size in most applications is 16x16 pixels. This is the recommended graphic dimension to use if you're using the default style provided by JavaFX.
To create a MenuItem is simple:
MenuItem menuItem = new MenuItem("Open");
menuItem.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
System.out.println("Opening Database Connection...");
}
});
menuItem.setGraphic(new ImageView(new Image("flower.png")));
Refer to the Menu
page to learn how to insert MenuItem into a menu
instance. Briefly however, you can insert the MenuItem from the previous
example into a Menu as such:
final Menu menu = new Menu("File");
menu.getItems().add(menuItem);
Menu
Modifier and Type | Field and Description |
---|---|
static EventType<Event> |
MENU_VALIDATION_EVENT
Called when a accelerator for the Menuitem is invoked
|
Constructor and Description |
---|
MenuItem()
Constructs a MenuItem with no display text.
|
MenuItem(String text)
Constructs a MenuItem and sets the display text with the specified text
|
MenuItem(String text,
Node graphic)
Constructor s MenuItem and sets the display text with the specified text
and sets the graphic
Node to the given node. |
Modifier and Type | Method and Description |
---|---|
ObjectProperty<KeyCombination> |
acceleratorProperty() |
<E extends Event> |
addEventHandler(EventType<E> eventType,
EventHandler<E> eventHandler)
Registers an event handler to this MenuItem.
|
EventDispatchChain |
buildEventDispatchChain(EventDispatchChain tail)
Construct an event dispatch chain for this target.
|
BooleanProperty |
disableProperty() |
void |
fire()
Fires a new ActionEvent.
|
KeyCombination |
getAccelerator() |
List<CssMetaData<? extends Styleable,?>> |
getCssMetaData()
The CssMetaData of this Styleable.
|
Node |
getGraphic() |
String |
getId()
The id of this
Styleable . |
EventHandler<ActionEvent> |
getOnAction() |
EventHandler<Event> |
getOnMenuValidation() |
Menu |
getParentMenu() |
ContextMenu |
getParentPopup() |
ObservableMap<Object,Object> |
getProperties()
Returns an observable map of properties on this menu item for use primarily
by application developers.
|
ObservableSet<PseudoClass> |
getPseudoClassStates()
Return the pseudo-class state of this Styleable.
|
String |
getStyle()
A string representation of the CSS style associated with this
specific
Node . |
Styleable |
getStyleableParent()
Return the parent of this Styleable, or null if there is no parent.
|
ObservableList<String> |
getStyleClass()
*
Public API *
*
|
String |
getText() |
String |
getTypeSelector()
The type of this
Styleable that is to be used in selector matching. |
Object |
getUserData()
Returns a previously set Object property, or null if no such property
has been set using the
setUserData(java.lang.Object) method. |
ObjectProperty<Node> |
graphicProperty() |
StringProperty |
idProperty() |
Node |
impl_styleableGetNode()
Deprecated.
This is an internal API that is not intended for use and will be removed in the next version
|
boolean |
isDisable() |
boolean |
isMnemonicParsing() |
boolean |
isVisible() |
BooleanProperty |
mnemonicParsingProperty() |
ObjectProperty<EventHandler<ActionEvent>> |
onActionProperty() |
ObjectProperty<EventHandler<Event>> |
onMenuValidationProperty() |
ReadOnlyObjectProperty<Menu> |
parentMenuProperty() |
ReadOnlyObjectProperty<ContextMenu> |
parentPopupProperty() |
<E extends Event> |
removeEventHandler(EventType<E> eventType,
EventHandler<E> eventHandler)
Unregisters a previously registered event handler from this MenuItem.
|
void |
setAccelerator(KeyCombination value) |
void |
setDisable(boolean value) |
void |
setGraphic(Node value) |
void |
setId(String value) |
void |
setMnemonicParsing(boolean value) |
void |
setOnAction(EventHandler<ActionEvent> value) |
void |
setOnMenuValidation(EventHandler<Event> value) |
protected void |
setParentMenu(Menu value) |
protected void |
setParentPopup(ContextMenu value) |
void |
setStyle(String value) |
void |
setText(String value) |
void |
setUserData(Object value)
Convenience method for setting a single Object property that can be
retrieved at a later date.
|
void |
setVisible(boolean value) |
StringProperty |
styleProperty() |
StringProperty |
textProperty() |
String |
toString() |
BooleanProperty |
visibleProperty() |
public MenuItem()
public MenuItem(String text)
setText(java.lang.String)
public final void setId(String value)
public final String getId()
Styleable
Styleable
. This simple string identifier is useful for
finding a specific Node within the scene graph. While the id of a Node
should be unique within the scene graph, this uniqueness is not enforced.
This is analogous to the "id" attribute on an HTML element
(CSS ID Specification).
For example, if a Node is given the id of "myId", then the lookup method can
be used to find this node as follows: scene.lookup("#myId");
.
public final StringProperty idProperty()
public final void setStyle(String value)
public final String getStyle()
Styleable
Node
. This is analogous to the "style" attribute of an
HTML element. Note that, like the HTML style attribute, this
variable contains style properties and values and not the
selector portion of a style rule.public final StringProperty styleProperty()
protected final void setParentMenu(Menu value)
public final Menu getParentMenu()
public final ReadOnlyObjectProperty<Menu> parentMenuProperty()
protected final void setParentPopup(ContextMenu value)
public final ContextMenu getParentPopup()
public final ReadOnlyObjectProperty<ContextMenu> parentPopupProperty()
public final void setText(String value)
public final String getText()
public final StringProperty textProperty()
public final void setGraphic(Node value)
public final Node getGraphic()
public final ObjectProperty<Node> graphicProperty()
public final void setOnAction(EventHandler<ActionEvent> value)
public final EventHandler<ActionEvent> getOnAction()
public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty()
public final void setOnMenuValidation(EventHandler<Event> value)
public final EventHandler<Event> getOnMenuValidation()
public final ObjectProperty<EventHandler<Event>> onMenuValidationProperty()
public final void setDisable(boolean value)
public final boolean isDisable()
public final BooleanProperty disableProperty()
public final void setVisible(boolean value)
public final boolean isVisible()
public final BooleanProperty visibleProperty()
public final void setAccelerator(KeyCombination value)
public final KeyCombination getAccelerator()
public final ObjectProperty<KeyCombination> acceleratorProperty()
public final void setMnemonicParsing(boolean value)
public final boolean isMnemonicParsing()
public final BooleanProperty mnemonicParsingProperty()
public ObservableList<String> getStyleClass()
getStyleClass
in interface Styleable
public void fire()
public <E extends Event> void addEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)
Event
of the specified type during the bubbling
phase of event delivery.E
- the specific event class of the handlereventType
- the type of the events to receive by the handlereventHandler
- the handler to registerNullPointerException
- if the event type or handler is nullpublic <E extends Event> void removeEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)
E
- the specific event class of the handlereventType
- the event type from which to unregistereventHandler
- the handler to unregisterNullPointerException
- if the event type or handler is nullpublic EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)
EventTarget
. This event target is
not automatically added to the chain, so if it wants to process events,
it needs to add an EventDispatcher
for itself to the chain.
In the case the event target is part of some hierarchy, the chain for it is usually built from event dispatchers collected from the root of the hierarchy to the event target.
The event dispatch chain is constructed by modifications to the provided initial event dispatch chain. The returned chain should have the initial chain at its end so the dispatchers should be prepended to the initial chain.
The caller shouldn't assume that the initial chain remains unchanged nor that the returned value will reference a different chain.
buildEventDispatchChain
in interface EventTarget
tail
- the initial chain to build frompublic Object getUserData()
setUserData(java.lang.Object)
method.public void setUserData(Object value)
Node.getUserData()
.value
- The value to be stored - this can later be retrieved by calling
Node.getUserData()
.public ObservableMap<Object,Object> getProperties()
public String getTypeSelector()
Styleable
that is to be used in selector matching.
This is analogous to an "element" in HTML.
(CSS Type Selector).getTypeSelector
in interface Styleable
public Styleable getStyleableParent()
getStyleableParent
in interface Styleable
getParentMenu()
, or getParentPopup()
if parentMenu
is nullpublic final ObservableSet<PseudoClass> getPseudoClassStates()
getPseudoClassStates
in interface Styleable
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Styleable
getCssMetaData
in interface Styleable
@Deprecated public Node impl_styleableGetNode()
Copyright © 2020. All rights reserved.