- All Implemented Interfaces:
- Styleable,- EventTarget,- Skinnable
- Direct Known Subclasses:
- SplitMenuButton
ContextMenu. A MenuButton shares a very similar API to the Menu
 control, insofar that you set the items that should be shown in the
 items ObservableList, and there is a text property to specify the
 label shown within the MenuButton.
 
 As mentioned, like the Menu API itself, you'll find an items ObservableList
 within which you can provide anything that extends from MenuItem.
 There are several useful subclasses of MenuItem including
 RadioMenuItem, CheckMenuItem, Menu,
 SeparatorMenuItem and CustomMenuItem.
 
 A MenuButton can be set to show its menu on any side of the button. This is
 specified using the popupSide property. By default
 the menu appears below the button. However, regardless of the popupSide specified,
 if there is not enough room, the ContextMenu will be
 smartly repositioned, most probably to be on the opposite side of the
 MenuButton.
 
Example:
 MenuButton m = new MenuButton("Eats");
 m.getItems().addAll(new MenuItem("Burger"), new MenuItem("Hot Dog"));
  
 MnemonicParsing is enabled by default for MenuButton.
- Since:
- JavaFX 2.0
- See Also:
- 
Property SummaryPropertiesTypePropertyDescriptionfinal ObjectProperty<EventHandler<Event>> Called just after theContextMenuhas been hidden.final ObjectProperty<EventHandler<Event>> Called just prior to theContextMenubeing hidden.final ObjectProperty<EventHandler<Event>> Called just prior to theContextMenubeing shown.final ObjectProperty<EventHandler<Event>> Called just after theContextMenuis shown.final ObjectProperty<Side> Indicates on which side theContextMenushould open in relation to the MenuButton.final ReadOnlyBooleanPropertyIndicates whether theContextMenuis currently visible.Properties declared in class javafx.scene.control.ButtonBasearmed, onActionProperties declared in class javafx.scene.control.Labeledalignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, textTruncated, underline, wrapTextProperties declared in class javafx.scene.control.ControlcontextMenu, skin, tooltipProperties declared in class javafx.scene.layout.Regionbackground, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties declared in class javafx.scene.ParentneedsLayoutProperties declared in class javafx.scene.NodeaccessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
- 
Field SummaryFieldsModifier and TypeFieldDescriptionCalled when the MenuButton popup has been hidden.Called when the MenuButton popup will be hidden.Called prior to the MenuButton showing its popup after the user has clicked or otherwise interacted with the MenuButton.Called after the MenuButton has shown its popup.Fields declared in class javafx.scene.layout.RegionUSE_COMPUTED_SIZE, USE_PREF_SIZEFields declared in class javafx.scene.NodeBASELINE_OFFSET_SAME_AS_HEIGHT
- 
Constructor SummaryConstructorsConstructorDescriptionCreates a new empty menu button.MenuButton(String text) Creates a new empty menu button with the given text to display on the button.MenuButton(String text, Node graphic) Creates a new empty menu button with the given text and graphic to display on the button.MenuButton(String text, Node graphic, MenuItem... items) Creates a new menu button with the given text and graphic to display on the button, and inserts the given items into theitemslist.
- 
Method SummaryModifier and TypeMethodDescriptionvoidfire()This has no impact.final ObservableList<MenuItem> getItems()The items to show within this buttons menu.final EventHandler<Event> Gets the value of theonHiddenproperty.final EventHandler<Event> Gets the value of theonHidingproperty.final EventHandler<Event> Gets the value of theonShowingproperty.final EventHandler<Event> Gets the value of theonShownproperty.final SideGets the value of thepopupSideproperty.voidhide()Hides theContextMenu.final booleanGets the value of theshowingproperty.final ObjectProperty<EventHandler<Event>> Called just after theContextMenuhas been hidden.final ObjectProperty<EventHandler<Event>> Called just prior to theContextMenubeing hidden.final ObjectProperty<EventHandler<Event>> Called just prior to theContextMenubeing shown.final ObjectProperty<EventHandler<Event>> Called just after theContextMenuis shown.final ObjectProperty<Side> Indicates on which side theContextMenushould open in relation to the MenuButton.final voidsetOnHidden(EventHandler<Event> value) Sets the value of theonHiddenproperty.final voidsetOnHiding(EventHandler<Event> value) Sets the value of theonHidingproperty.final voidsetOnShowing(EventHandler<Event> value) Sets the value of theonShowingproperty.final voidsetOnShown(EventHandler<Event> value) Sets the value of theonShownproperty.final voidsetPopupSide(Side value) Sets the value of thepopupSideproperty.voidshow()Shows theContextMenu, assuming this MenuButton is not disabled.final ReadOnlyBooleanPropertyIndicates whether theContextMenuis currently visible.Methods declared in class javafx.scene.control.ButtonBasearm, armedProperty, disarm, getOnAction, isArmed, onActionProperty, setOnActionMethods declared in class javafx.scene.control.LabeledalignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isTextTruncated, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, textTruncatedProperty, underlineProperty, wrapTextPropertyMethods declared in class javafx.scene.control.ControlcomputeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipPropertyMethods declared in class javafx.scene.layout.RegionbackgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthPropertyMethods declared in class javafx.scene.ParentgetBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods declared in class javafx.scene.NodeaccessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visiblePropertyMethods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods declared in interface javafx.css.StyleablegetStyleableNode
- 
Property Details- 
showingIndicates whether theContextMenuis currently visible.- See Also:
 
- 
popupSideIndicates on which side theContextMenushould open in relation to the MenuButton. Menu items are generally laid out vertically in either case. For example, if the menu button were in a vertical toolbar on the left edge of the application, you might changepopupSidetoSide.RIGHTso that the popup will appear to the right of the MenuButton.- Default value:
- Side.BOTTOM
- See Also:
 
- 
onShowingCalled just prior to theContextMenubeing shown.- Since:
- 10
- See Also:
 
- 
onShownCalled just after theContextMenuis shown.- Since:
- 10
- See Also:
 
- 
onHidingCalled just prior to theContextMenubeing hidden.- Since:
- 10
- See Also:
 
- 
onHiddenCalled just after theContextMenuhas been hidden.- Since:
- 10
- See Also:
 
 
- 
- 
Field Details- 
ON_SHOWINGCalled prior to the MenuButton showing its popup after the user has clicked or otherwise interacted with the MenuButton.- Since:
- JavaFX 8u60
 
- 
ON_SHOWNCalled after the MenuButton has shown its popup.- Since:
- JavaFX 8u60
 
- 
ON_HIDINGCalled when the MenuButton popup will be hidden.- Since:
- JavaFX 8u60
 
- 
ON_HIDDENCalled when the MenuButton popup has been hidden.- Since:
- JavaFX 8u60
 
 
- 
- 
Constructor Details- 
MenuButtonpublic MenuButton()Creates a new empty menu button. UseLabeled.setText(String),Labeled.setGraphic(Node)andgetItems()to set the content.
- 
MenuButtonCreates a new empty menu button with the given text to display on the button. UseLabeled.setGraphic(Node)andgetItems()to set the content.- Parameters:
- text- the text to display on the menu button
 
- 
MenuButtonCreates a new empty menu button with the given text and graphic to display on the button. UsegetItems()to set the content.- Parameters:
- text- the text to display on the menu button
- graphic- the graphic to display on the menu button
 
- 
MenuButtonCreates a new menu button with the given text and graphic to display on the button, and inserts the given items into theitemslist.- Parameters:
- text- the text to display on the menu button
- graphic- the graphic to display on the menu button
- items- The items to display in the popup menu.
- Since:
- JavaFX 8u40
 
 
- 
- 
Method Details- 
getItemsThe items to show within this buttons menu. If this ObservableList is modified at runtime, the Menu will update as expected.Commonly used controls include including MenuItem,CheckMenuItem,RadioMenuItem, and of courseMenu, which if added to a menu, will become a sub menu.SeparatorMenuItemis another commonly used Node in the Menu's items ObservableList.- Returns:
- the list of menu items within this buttons menu
 
- 
isShowingpublic final boolean isShowing()Gets the value of theshowingproperty.- Property description:
- Indicates whether the ContextMenuis currently visible.
- Returns:
- the value of the showingproperty
- See Also:
 
- 
showingPropertyIndicates whether theContextMenuis currently visible.- Returns:
- the showingproperty
- See Also:
 
- 
setPopupSideSets the value of thepopupSideproperty.- Property description:
- Indicates on which side the ContextMenushould open in relation to the MenuButton. Menu items are generally laid out vertically in either case. For example, if the menu button were in a vertical toolbar on the left edge of the application, you might changepopupSidetoSide.RIGHTso that the popup will appear to the right of the MenuButton.
- Default value:
- Side.BOTTOM
- Parameters:
- value- the value for the- popupSideproperty
- See Also:
 
- 
getPopupSideGets the value of thepopupSideproperty.- Property description:
- Indicates on which side the ContextMenushould open in relation to the MenuButton. Menu items are generally laid out vertically in either case. For example, if the menu button were in a vertical toolbar on the left edge of the application, you might changepopupSidetoSide.RIGHTso that the popup will appear to the right of the MenuButton.
- Default value:
- Side.BOTTOM
- Returns:
- the value of the popupSideproperty
- See Also:
 
- 
popupSidePropertyIndicates on which side theContextMenushould open in relation to the MenuButton. Menu items are generally laid out vertically in either case. For example, if the menu button were in a vertical toolbar on the left edge of the application, you might changepopupSidetoSide.RIGHTso that the popup will appear to the right of the MenuButton.- Default value:
- Side.BOTTOM
- Returns:
- the popupSideproperty
- See Also:
 
- 
onShowingPropertyCalled just prior to theContextMenubeing shown.- Returns:
- the on showing property
- Since:
- 10
- See Also:
 
- 
setOnShowingSets the value of theonShowingproperty.- Property description:
- Called just prior to the ContextMenubeing shown.
- Parameters:
- value- the value for the- onShowingproperty
- Since:
- 10
- See Also:
 
- 
getOnShowingGets the value of theonShowingproperty.- Property description:
- Called just prior to the ContextMenubeing shown.
- Returns:
- the value of the onShowingproperty
- Since:
- 10
- See Also:
 
- 
onShownPropertyCalled just after theContextMenuis shown.- Returns:
- the on shown property
- Since:
- 10
- See Also:
 
- 
setOnShownSets the value of theonShownproperty.- Property description:
- Called just after the ContextMenuis shown.
- Parameters:
- value- the value for the- onShownproperty
- Since:
- 10
- See Also:
 
- 
getOnShownGets the value of theonShownproperty.- Property description:
- Called just after the ContextMenuis shown.
- Returns:
- the value of the onShownproperty
- Since:
- 10
- See Also:
 
- 
onHidingPropertyCalled just prior to theContextMenubeing hidden.- Returns:
- the on hiding property
- Since:
- 10
- See Also:
 
- 
setOnHidingSets the value of theonHidingproperty.- Property description:
- Called just prior to the ContextMenubeing hidden.
- Parameters:
- value- the value for the- onHidingproperty
- Since:
- 10
- See Also:
 
- 
getOnHidingGets the value of theonHidingproperty.- Property description:
- Called just prior to the ContextMenubeing hidden.
- Returns:
- the value of the onHidingproperty
- Since:
- 10
- See Also:
 
- 
onHiddenPropertyCalled just after theContextMenuhas been hidden.- Returns:
- the on hidden property
- Since:
- 10
- See Also:
 
- 
setOnHiddenSets the value of theonHiddenproperty.- Property description:
- Called just after the ContextMenuhas been hidden.
- Parameters:
- value- the value for the- onHiddenproperty
- Since:
- 10
- See Also:
 
- 
getOnHiddenGets the value of theonHiddenproperty.- Property description:
- Called just after the ContextMenuhas been hidden.
- Returns:
- the value of the onHiddenproperty
- Since:
- 10
- See Also:
 
- 
showpublic void show()Shows theContextMenu, assuming this MenuButton is not disabled.- See Also:
 
- 
hidepublic void hide()Hides theContextMenu.- See Also:
 
- 
firepublic void fire()This has no impact.- Specified by:
- firein class- ButtonBase
 
 
-