public class ContextMenu extends PopupControl
 A popup control containing an ObservableList of menu items. The items
 ObservableList allows for any MenuItem type to be inserted,
 including its subclasses Menu, MenuItem, RadioMenuItem, CheckMenuItem and
 CustomMenuItem. If an arbitrary Node needs to be
 inserted into a menu, a CustomMenuItem can be used. One exception to this general rule is that
 SeparatorMenuItem could be used for inserting a separator.
 
A common use case for this class is creating and showing context menus to users. To create a context menu using ContextMenu you can do the following:
final ContextMenu contextMenu = new ContextMenu();
contextMenu.setOnShowing(new EventHandler<WindowEvent>() {
    public void handle(WindowEvent e) {
        System.out.println("showing");
    }
});
contextMenu.setOnShown(new EventHandler<WindowEvent>() {
    public void handle(WindowEvent e) {
        System.out.println("shown");
    }
});
MenuItem item1 = new MenuItem("About");
item1.setOnAction(new EventHandler<ActionEvent>() {
    public void handle(ActionEvent e) {
        System.out.println("About");
    }
});
MenuItem item2 = new MenuItem("Preferences");
item2.setOnAction(new EventHandler<ActionEvent>() {
    public void handle(ActionEvent e) {
        System.out.println("Preferences");
    }
});
contextMenu.getItems().addAll(item1, item2);
final TextField textField = new TextField("Type Something");
textField.setContextMenu(contextMenu);
Control.setContextMenu(javafx.scene.control.ContextMenu) convenience
 method can be used to set a context menu on on any control. The example above results in the
 context menu being displayed on the right Side
 of the TextField. Alternatively, an event handler can also be set on the control
 to invoke the context menu as shown below.
 
textField.setOnAction(new EventHandler<ActionEvent>() {
    public void handle(ActionEvent e) {
        contextMenu.show(textField, Side.BOTTOM, 0, 0);
    }
});
Group root = (Group) scene.getRoot();
root.getChildren().add(textField);
In this example, the context menu is shown when the user clicks on the
 Button (of course, you should use the
 MenuButton control to do this rather than doing the above).
Note that the show function used in the code sample
 above will result in the ContextMenu appearing directly beneath the
 TextField. You can vary the Side  to get the results you expect.
| Type | Property and Description | 
|---|---|
| ObjectProperty<EventHandler<ActionEvent>> | onActionCallback function to be informed when an item contained within this
  ContextMenuhas been activated. | 
id, maxHeight, maxWidth, minHeight, minWidth, prefHeight, prefWidth, skin, styleautoFix, autoHide, consumeAutoHidingEvents, hideOnEscape, onAutoHide, ownerNode, ownerWindowPopupControl.CSSBridgebridge, USE_COMPUTED_SIZE, USE_PREF_SIZE| Constructor and Description | 
|---|
| ContextMenu()Create a new ContextMenu | 
| ContextMenu(MenuItem... items)Create a new ContextMenu initialized with the given items | 
| Modifier and Type | Method and Description | 
|---|---|
| ObservableList<MenuItem> | getItems()The menu items on the context menu. | 
| EventHandler<ActionEvent> | getOnAction()Gets the value of the property onAction. | 
| void | hide()Hides this  ContextMenuand any visible submenus, assuming that when this function
 is called that theContextMenuwas showing. | 
| ObjectProperty<EventHandler<ActionEvent>> | onActionProperty()Callback function to be informed when an item contained within this
  ContextMenuhas been activated. | 
| void | setOnAction(EventHandler<ActionEvent> value)Sets the value of the property onAction. | 
| void | show(Node anchor,
    double screenX,
    double screenY)Shows the  ContextMenuat the specified screen coordinates. | 
| void | show(Node anchor,
    Side side,
    double dx,
    double dy)Shows the  ContextMenurelative to the given anchor node, on the side
 specified by thehposandvposparameters, and offset
 by the givendxanddyvalues for the x-axis and y-axis, respectively. | 
getId, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getPrefHeight, getPrefWidth, getSkin, getStyle, getStyleClass, idProperty, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, setId, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setPrefHeight, setPrefSize, setPrefWidth, setSkin, setStyle, skinProperty, stylePropertyautoFixProperty, autoHideProperty, consumeAutoHidingEventsProperty, getConsumeAutoHidingEvents, getOnAutoHide, getOwnerNode, getOwnerWindow, hideOnEscapeProperty, isAutoFix, isAutoHide, isHideOnEscape, onAutoHideProperty, ownerNodeProperty, ownerWindowProperty, setAutoFix, setAutoHide, setConsumeAutoHidingEvents, setHideOnEscape, setOnAutoHide, setScene, show, showaddEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getScene, getWidth, getX, getY, heightProperty, isFocused, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, removeEventFilter, removeEventHandler, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setWidth, setX, setY, show, showingProperty, sizeToScene, widthProperty, xProperty, yPropertypublic final ObjectProperty<EventHandler<ActionEvent>> onActionProperty
ContextMenu has been activated. The current implementation informs
 all parent menus as well, so that it is not necessary to listen to all
 sub menus for events.getOnAction(), 
setOnAction(EventHandler)public ContextMenu()
public ContextMenu(MenuItem... items)
public final void setOnAction(EventHandler<ActionEvent> value)
ContextMenu has been activated. The current implementation informs
 all parent menus as well, so that it is not necessary to listen to all
 sub menus for events.public final EventHandler<ActionEvent> getOnAction()
ContextMenu has been activated. The current implementation informs
 all parent menus as well, so that it is not necessary to listen to all
 sub menus for events.public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty()
ContextMenu has been activated. The current implementation informs
 all parent menus as well, so that it is not necessary to listen to all
 sub menus for events.getOnAction(), 
setOnAction(EventHandler)public final ObservableList<MenuItem> getItems()
MenuItempublic void show(Node anchor, Side side, double dx, double dy)
ContextMenu relative to the given anchor node, on the side
 specified by the hpos and vpos parameters, and offset
 by the given dx and dy values for the x-axis and y-axis, respectively.
 If there is not enough room, the menu is moved to the opposite side and
 the offset is not applied.
 
 To clarify the purpose of the hpos and vpos parameters,
 consider that they are relative to the anchor node. As such, a hpos
 and vpos of CENTER would mean that the ContextMenu appears
 on top of the anchor, with the (0,0) position of the ContextMenu
 positioned at (0,0) of the anchor. A hpos of right would then shift
 the ContextMenu such that its top-left (0,0) position would be attached
 to the top-right position of the anchor.
 
This function is useful for finely tuning the position of a menu, relative to the parent node to ensure close alignment.
public void show(Node anchor, double screenX, double screenY)
ContextMenu at the specified screen coordinates. If there
 is not enough room at the specified location to show the ContextMenu
 given its size requirements, the necessary adjustments are made to bring
 the ContextMenu back back on screen. This also means that the
 ContextMenu will not span multiple monitors.show in class PopupWindowanchor - The owner Node of the popup. It must not be null
        and must be associated with a Window.screenX - the x location in screen coordinates at which to
        show this PopupWindow.screenY - the y location in screen coordiates at which to
        show this PopupWindow.public void hide()
ContextMenu and any visible submenus, assuming that when this function
 is called that the ContextMenu was showing.
 
 If this ContextMenu is not showing, then nothing happens.
hide in class PopupWindowCopyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.