Class SelectionBox<T>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
com.dlsc.gemsfx.SelectionBox<T>
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
Direct Known Subclasses:
DayOfWeekPicker, TimeRangePicker

public class SelectionBox<T> extends javafx.scene.control.Control

A versatile and customizable selection control that combines the features of ComboBox and ChoiceBox with enhanced selection capabilities.

Unlike ComboBox and ChoiceBox, which are limited to single selection modes, SelectionBox supports both single and multiple selection modes, providing greater flexibility for various UI requirements. Additionally, SelectionBox offers the ability to add extra buttons, enabling users to perform common selection actions swiftly, such as selecting all items, clearing selections, or applying predefined selection criteria.

  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.BooleanProperty
    Controls whether animation is enabled for the popup opening/closing transitions.
    final javafx.beans.property.BooleanProperty
    Controls whether the popup should auto-hide when an item or the extra button is clicked.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.control.SelectionMode>
    Provides a read-only property that directly exposes the current SelectionMode of this control without requiring multilevel checks on the underlying MultipleSelectionModel.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    Returns the graphic property of this ChoicePicker.
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>>
    Retrieves the property object for the string converter that formats the display of individual items.
    final javafx.beans.property.ListProperty<T>
    The list of items to be displayed in the SelectionBox.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked after the SelectionPopup has been hidden.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked before the SelectionPopup is hidden.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked before the SelectionPopup is shown.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked after the SelectionPopup has been shown.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    Returns the property holding the placeholder node, which is displayed when there are no items.
    final javafx.beans.property.StringProperty
    Returns the prompt text property of this SelectionBox.
    final javafx.beans.property.BooleanProperty
    Returns the BooleanProperty that controls the read-only state of the SelectionBox.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<List<T>>>
    Retrieves the property object for a string converter used to format the display of selected items.
    final javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>>
    Returns the property object for the selection model used by this SelectionBox.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class javafx.scene.Node

    accessibleHelp, 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 Summary

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new SelectionBox instance.
    Constructs a new selection box with the specified collection of items.
    SelectionBox(T... items)
    Constructs a new selection box and populates it with the provided items.
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.BooleanProperty
    Controls whether animation is enabled for the popup opening/closing transitions.
    final javafx.beans.property.BooleanProperty
    Controls whether the popup should auto-hide when an item or the extra button is clicked.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    protected javafx.scene.control.Skin<?>
     
    javafx.scene.control.Button
    Creates an extra button with the specified text and action.
    javafx.scene.control.Button
    createExtraButton(String text, javafx.scene.Node graphic, Runnable action)
    Creates an extra button with the specified text, graphic, and action.
    final javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.control.SelectionMode>
    Provides a read-only property that directly exposes the current SelectionMode of this control without requiring multilevel checks on the underlying MultipleSelectionModel.
    final javafx.scene.Node
    Gets the value of the bottom property.
    static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    final javafx.scene.control.SelectionMode
    Gets the value of the currentSelectionMode property.
    final javafx.scene.Node
    Gets the value of the graphic property.
    final javafx.util.StringConverter<T>
    Gets the value of the itemConverter property.
    final javafx.collections.ObservableList<T>
    Gets the value of the items property.
    final javafx.scene.Node
    Gets the value of the left property.
    final javafx.event.EventHandler<javafx.stage.WindowEvent>
    Gets the value of the onHidden property.
    final javafx.event.EventHandler<javafx.stage.WindowEvent>
    Gets the value of the onHiding property.
    final javafx.event.EventHandler<javafx.stage.WindowEvent>
    Gets the value of the onShowing property.
    final javafx.event.EventHandler<javafx.stage.WindowEvent>
    Gets the value of the onShown property.
    final javafx.scene.Node
    Gets the value of the placeholder property.
    final String
    Gets the value of the promptText property.
    final javafx.scene.Node
    Gets the value of the right property.
    final javafx.util.StringConverter<List<T>>
    Gets the value of the selectedItemsConverter property.
    final javafx.scene.control.MultipleSelectionModel<T>
    Gets the value of the selectionModel property.
    final javafx.scene.Node
    Gets the value of the top property.
     
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    Returns the graphic property of this ChoicePicker.
    final void
    Hides the popup by setting the "showPopup" property to false on the component's properties.
    final boolean
    Gets the value of the animationEnabled property.
    final boolean
    Gets the value of the autoHideOnSelection property.
    final boolean
    Gets the value of the readOnly property.
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>>
    Retrieves the property object for the string converter that formats the display of individual items.
    final javafx.beans.property.ListProperty<T>
    The list of items to be displayed in the SelectionBox.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked after the SelectionPopup has been hidden.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked before the SelectionPopup is hidden.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked before the SelectionPopup is shown.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>>
    The event handler property invoked after the SelectionPopup has been shown.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    Returns the property holding the placeholder node, which is displayed when there are no items.
    final javafx.beans.property.StringProperty
    Returns the prompt text property of this SelectionBox.
    final javafx.beans.property.BooleanProperty
    Returns the BooleanProperty that controls the read-only state of the SelectionBox.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<List<T>>>
    Retrieves the property object for a string converter used to format the display of selected items.
    final javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>>
    Returns the property object for the selection model used by this SelectionBox.
    final void
    setAnimationEnabled(boolean value)
    Sets the value of the animationEnabled property.
    final void
    setAutoHideOnSelection(boolean autoHideOnSelection)
    Sets the value of the autoHideOnSelection property.
    final void
    setBottom(javafx.scene.Node bottom)
    Sets the value of the bottom property.
    final void
    setGraphic(javafx.scene.Node graphic)
    Sets the value of the graphic property.
    final void
    setItemConverter(javafx.util.StringConverter<T> itemConverter)
    Sets the value of the itemConverter property.
    final void
    setItems(javafx.collections.ObservableList<T> items)
    Sets the value of the items property.
    final void
    setLeft(javafx.scene.Node left)
    Sets the value of the left property.
    final void
    setOnHidden(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
    Sets the value of the onHidden property.
    final void
    setOnHiding(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
    Sets the value of the onHiding property.
    final void
    setOnShowing(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
    Sets the value of the onShowing property.
    final void
    setOnShown(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
    Sets the value of the onShown property.
    final void
    setPlaceholder(javafx.scene.Node placeholder)
    Sets the value of the placeholder property.
    final void
    setPromptText(String promptText)
    Sets the value of the promptText property.
    final void
    setReadOnly(boolean readOnly)
    Sets the value of the readOnly property.
    final void
    setRight(javafx.scene.Node right)
    Sets the value of the right property.
    final void
    setSelectedItemsConverter(javafx.util.StringConverter<List<T>> selectedItemsConverter)
    Sets the value of the selectedItemsConverter property.
    final void
    setSelectionModel(javafx.scene.control.MultipleSelectionModel<T> selectionModel)
    Sets the value of the selectionModel property.
    final void
    setTop(javafx.scene.Node top)
    Sets the value of the top property.
    final void
    Displays the popup by setting the "showPopup" property to true on the component's properties.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, 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, widthProperty

    Methods inherited from class javafx.scene.Parent

    getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods inherited from class javafx.scene.Node

    accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, 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, 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, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, 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, visibleProperty

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

    • items

      public final javafx.beans.property.ListProperty<T> itemsProperty
      The list of items to be displayed in the SelectionBox.
      See Also:
    • top

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> topProperty
      See Also:
    • bottom

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> bottomProperty
      See Also:
    • left

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> leftProperty
      See Also:
    • right

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> rightProperty
      See Also:
    • placeholder

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> placeholderProperty
      Returns the property holding the placeholder node, which is displayed when there are no items.
      See Also:
    • graphic

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty
      Returns the graphic property of this ChoicePicker. The graphic is an optional graphical representation that can be displayed alongside other text or elements within the picker.
      See Also:
    • promptText

      public final javafx.beans.property.StringProperty promptTextProperty
      Returns the prompt text property of this SelectionBox. The prompt text is an optional text that can be displayed in the picker when no item is selected.
      See Also:
    • autoHideOnSelection

      public final javafx.beans.property.BooleanProperty autoHideOnSelectionProperty
      Controls whether the popup should auto-hide when an item or the extra button is clicked.

      When set to false, the popup remains visible regardless of interaction, allowing continued interaction in both single and multiple selection modes. This is useful when the user needs to make multiple selections or interact with the extra button without closing the popup.

      When set to true, the behavior differs based on the selection mode:

      • In multiple selection mode, clicking the extra button will hide the popup to finalize the selection, but clicking an item will not hide the popup, allowing further selections.
      • In single selection mode, clicking any item or the extra button does not automatically hide the popup unless explicitly handled.
      The default value is true.
      See Also:
    • selectedItemsConverter

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<List<T>>> selectedItemsConverterProperty
      Retrieves the property object for a string converter used to format the display of selected items. This converter allows for customization of how selected items are represented in the UI. For instance, if the selected item collection is [1, 2, 3, 4, 5], the converter can format this list to display as "1, 2, 3, 4, 5". By setting a custom converter, it is possible to modify the display to any desired format, such as "1~5".

      If the selected items list is null or empty, the promptTextProperty() value will be used instead, so there is no need to handle these cases within the converter. You can also choose to always return your own string (for example, "Select" or "Please choose")

      selectionBox.setSelectedItemsConverter(
          new SimpleStringConverter<>(selectedItems -> {
              // return "Select";
              return selectionBox.getPromptText();
          })
      );
      

      The selectedItemsConverterProperty provides a way to bind the display logic to UI components, enabling dynamic updates whenever the selected items change or the converter is redefined.

      See Also:
    • itemConverter

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>> itemConverterProperty
      Retrieves the property object for the string converter that formats the display of individual items. This property allows for customization of how each item is represented as a string in the UI.
      See Also:
    • readOnly

      public final javafx.beans.property.BooleanProperty readOnlyProperty
      Returns the BooleanProperty that controls the read-only state of the SelectionBox. When set to true, the SelectionBox will be in read-only mode, preventing user interaction.

      Can be set via CSS using the -fx-read-only property. Valid values are: true or false. The default value is false.

      See Also:
    • selectionModel

      public final javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>> selectionModelProperty
      Returns the property object for the selection model used by this SelectionBox. The selection model defines the APIs responsible for handling selection, primarily in the context of multiple or single selection modes.
      See Also:
    • currentSelectionMode

      public final javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.control.SelectionMode> currentSelectionModeProperty
      Provides a read-only property that directly exposes the current SelectionMode of this control without requiring multilevel checks on the underlying MultipleSelectionModel. This is particularly convenient for child classes or external consumers who need to quickly determine whether the mode is SelectionMode.SINGLE, SelectionMode.MULTIPLE, or null (in case there is no active selection model).

      To modify the selection mode, call getSelectionModel().setSelectionMode(...) directly, since this property itself is read-only.

      See Also:
    • animationEnabled

      public final javafx.beans.property.BooleanProperty animationEnabledProperty
      Controls whether animation is enabled for the popup opening/closing transitions.

      Can be set via CSS using the -fx-animation-enabled property. Valid values are: true or false. The default value is false.

      See Also:
    • onShowing

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onShowingProperty
      The event handler property invoked before the SelectionPopup is shown.

      This maps to WindowEvent.WINDOW_SHOWING. Use this to prepare data or UI state right before the popup becomes visible.

      See Also:
    • onShown

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onShownProperty
      The event handler property invoked after the SelectionPopup has been shown.

      This maps to WindowEvent.WINDOW_SHOWN. Use this to run logic that depends on the popup being visible (e.g., focusing a field inside the popup).

      See Also:
    • onHiding

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onHidingProperty
      The event handler property invoked before the SelectionPopup is hidden.

      This maps to WindowEvent.WINDOW_HIDING. Use this to validate or persist a transient state before closing the popup.

      See Also:
    • onHidden

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onHiddenProperty
      The event handler property invoked after the SelectionPopup has been hidden.

      This maps to WindowEvent.WINDOW_HIDDEN. Use this to perform cleanup work after the popup is fully closed.

      See Also:
  • Constructor Details

    • SelectionBox

      public SelectionBox()
      Constructs a new SelectionBox instance. This custom control extends functionality to allow for enhanced selection capabilities with predefined style classes and quick selection buttons. The constructor performs the following operations: - Sets style classes for the control, including "combo-box-base," "combo-box," and the default style class. - Adds customizable quick selection buttons to the top of the popup area. - Binds the current selection mode to an internal selection mode property. - Initializes a custom multiple selection model, binding it to the items property. - Configures the component's size to use its preferred size as both minimum and maximum size.
    • SelectionBox

      public SelectionBox(Collection<T> items)
      Constructs a new selection box with the specified collection of items.
      Parameters:
      items - the collection of items to populate the SelectionBox
    • SelectionBox

      @SafeVarargs public SelectionBox(T... items)
      Constructs a new selection box and populates it with the provided items.
      Parameters:
      items - The initial items to populate the selection box. These items will be added to the selection box's list of choices.
  • Method Details

    • getUserAgentStylesheet

      public String getUserAgentStylesheet()
      Overrides:
      getUserAgentStylesheet in class javafx.scene.layout.Region
    • hide

      public final void hide()
      Hides the popup by setting the "showPopup" property to false on the component's properties.
    • show

      public final void show()
      Displays the popup by setting the "showPopup" property to true on the component's properties.
    • createDefaultSkin

      protected javafx.scene.control.Skin<?> createDefaultSkin()
      Overrides:
      createDefaultSkin in class javafx.scene.control.Control
    • itemsProperty

      public final javafx.beans.property.ListProperty<T> itemsProperty()
      The list of items to be displayed in the SelectionBox.
      Returns:
      the list property containing the items
      See Also:
    • setItems

      public final void setItems(javafx.collections.ObservableList<T> items)
      Sets the value of the items property.
      Property description:
      The list of items to be displayed in the SelectionBox.
      Parameters:
      items - the value for the items property
      See Also:
    • getItems

      public final javafx.collections.ObservableList<T> getItems()
      Gets the value of the items property.
      Property description:
      The list of items to be displayed in the SelectionBox.
      Returns:
      the value of the items property
      See Also:
    • topProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> topProperty()
      Returns:
      the top property
      See Also:
    • getTop

      public final javafx.scene.Node getTop()
      Gets the value of the top property.
      Property description:
      Returns:
      the value of the top property
      See Also:
    • setTop

      public final void setTop(javafx.scene.Node top)
      Sets the value of the top property.
      Property description:
      Parameters:
      top - the value for the top property
      See Also:
    • bottomProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> bottomProperty()
      Returns:
      the bottom property
      See Also:
    • getBottom

      public final javafx.scene.Node getBottom()
      Gets the value of the bottom property.
      Property description:
      Returns:
      the value of the bottom property
      See Also:
    • setBottom

      public final void setBottom(javafx.scene.Node bottom)
      Sets the value of the bottom property.
      Property description:
      Parameters:
      bottom - the value for the bottom property
      See Also:
    • leftProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> leftProperty()
      Returns:
      the left property
      See Also:
    • getLeft

      public final javafx.scene.Node getLeft()
      Gets the value of the left property.
      Property description:
      Returns:
      the value of the left property
      See Also:
    • setLeft

      public final void setLeft(javafx.scene.Node left)
      Sets the value of the left property.
      Property description:
      Parameters:
      left - the value for the left property
      See Also:
    • rightProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> rightProperty()
      Returns:
      the right property
      See Also:
    • getRight

      public final javafx.scene.Node getRight()
      Gets the value of the right property.
      Property description:
      Returns:
      the value of the right property
      See Also:
    • setRight

      public final void setRight(javafx.scene.Node right)
      Sets the value of the right property.
      Property description:
      Parameters:
      right - the value for the right property
      See Also:
    • placeholderProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> placeholderProperty()
      Returns the property holding the placeholder node, which is displayed when there are no items.
      Returns:
      the placeholder property
      See Also:
    • getPlaceholder

      public final javafx.scene.Node getPlaceholder()
      Gets the value of the placeholder property.
      Property description:
      Returns the property holding the placeholder node, which is displayed when there are no items.
      Returns:
      the value of the placeholder property
      See Also:
    • setPlaceholder

      public final void setPlaceholder(javafx.scene.Node placeholder)
      Sets the value of the placeholder property.
      Property description:
      Returns the property holding the placeholder node, which is displayed when there are no items.
      Parameters:
      placeholder - the value for the placeholder property
      See Also:
    • createExtraButton

      public javafx.scene.control.Button createExtraButton(String text, Runnable action)
      Creates an extra button with the specified text and action. The button will be styled with the "extra-button" class and will adjust its visibility based on its managed property. The button's maximum width will be set to the maximum double value.
      Parameters:
      text - the text to be displayed on the button
      action - the action to be executed when the button is clicked
      Returns:
      the created Button instance
    • createExtraButton

      public javafx.scene.control.Button createExtraButton(String text, javafx.scene.Node graphic, Runnable action)
      Creates an extra button with the specified text, graphic, and action. The created button will be styled with "extra-button" class and will adjust its visibility based on its managed property. The button's maximum width will be set to the maximum double value.
      Parameters:
      text - the text to be displayed on the button
      graphic - the graphic node to be displayed on the button
      action - the action to be executed when the button is clicked
      Returns:
      the created Button instance
    • graphicProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty()
      Returns the graphic property of this ChoicePicker. The graphic is an optional graphical representation that can be displayed alongside other text or elements within the picker.
      Returns:
      the ObjectProperty containing the graphical Node.
      See Also:
    • setGraphic

      public final void setGraphic(javafx.scene.Node graphic)
      Sets the value of the graphic property.
      Property description:
      Returns the graphic property of this ChoicePicker. The graphic is an optional graphical representation that can be displayed alongside other text or elements within the picker.
      Parameters:
      graphic - the value for the graphic property
      See Also:
    • getGraphic

      public final javafx.scene.Node getGraphic()
      Gets the value of the graphic property.
      Property description:
      Returns the graphic property of this ChoicePicker. The graphic is an optional graphical representation that can be displayed alongside other text or elements within the picker.
      Returns:
      the value of the graphic property
      See Also:
    • promptTextProperty

      public final javafx.beans.property.StringProperty promptTextProperty()
      Returns the prompt text property of this SelectionBox. The prompt text is an optional text that can be displayed in the picker when no item is selected.
      Returns:
      the StringProperty containing the prompt text.
      See Also:
    • setPromptText

      public final void setPromptText(String promptText)
      Sets the value of the promptText property.
      Property description:
      Returns the prompt text property of this SelectionBox. The prompt text is an optional text that can be displayed in the picker when no item is selected.
      Parameters:
      promptText - the value for the promptText property
      See Also:
    • getPromptText

      public final String getPromptText()
      Gets the value of the promptText property.
      Property description:
      Returns the prompt text property of this SelectionBox. The prompt text is an optional text that can be displayed in the picker when no item is selected.
      Returns:
      the value of the promptText property
      See Also:
    • autoHideOnSelectionProperty

      public final javafx.beans.property.BooleanProperty autoHideOnSelectionProperty()
      Controls whether the popup should auto-hide when an item or the extra button is clicked.

      When set to false, the popup remains visible regardless of interaction, allowing continued interaction in both single and multiple selection modes. This is useful when the user needs to make multiple selections or interact with the extra button without closing the popup.

      When set to true, the behavior differs based on the selection mode:

      • In multiple selection mode, clicking the extra button will hide the popup to finalize the selection, but clicking an item will not hide the popup, allowing further selections.
      • In single selection mode, clicking any item or the extra button does not automatically hide the popup unless explicitly handled.
      The default value is true.
      Returns:
      a BooleanProperty to control the auto-hide behavior of the popup.
      See Also:
    • isAutoHideOnSelection

      public final boolean isAutoHideOnSelection()
      Gets the value of the autoHideOnSelection property.
      Property description:
      Controls whether the popup should auto-hide when an item or the extra button is clicked.

      When set to false, the popup remains visible regardless of interaction, allowing continued interaction in both single and multiple selection modes. This is useful when the user needs to make multiple selections or interact with the extra button without closing the popup.

      When set to true, the behavior differs based on the selection mode:

      • In multiple selection mode, clicking the extra button will hide the popup to finalize the selection, but clicking an item will not hide the popup, allowing further selections.
      • In single selection mode, clicking any item or the extra button does not automatically hide the popup unless explicitly handled.
      The default value is true.
      Returns:
      the value of the autoHideOnSelection property
      See Also:
    • setAutoHideOnSelection

      public final void setAutoHideOnSelection(boolean autoHideOnSelection)
      Sets the value of the autoHideOnSelection property.
      Property description:
      Controls whether the popup should auto-hide when an item or the extra button is clicked.

      When set to false, the popup remains visible regardless of interaction, allowing continued interaction in both single and multiple selection modes. This is useful when the user needs to make multiple selections or interact with the extra button without closing the popup.

      When set to true, the behavior differs based on the selection mode:

      • In multiple selection mode, clicking the extra button will hide the popup to finalize the selection, but clicking an item will not hide the popup, allowing further selections.
      • In single selection mode, clicking any item or the extra button does not automatically hide the popup unless explicitly handled.
      The default value is true.
      Parameters:
      autoHideOnSelection - the value for the autoHideOnSelection property
      See Also:
    • selectedItemsConverterProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<List<T>>> selectedItemsConverterProperty()
      Retrieves the property object for a string converter used to format the display of selected items. This converter allows for customization of how selected items are represented in the UI. For instance, if the selected item collection is [1, 2, 3, 4, 5], the converter can format this list to display as "1, 2, 3, 4, 5". By setting a custom converter, it is possible to modify the display to any desired format, such as "1~5".

      If the selected items list is null or empty, the promptTextProperty() value will be used instead, so there is no need to handle these cases within the converter. You can also choose to always return your own string (for example, "Select" or "Please choose")

      selectionBox.setSelectedItemsConverter(
          new SimpleStringConverter<>(selectedItems -> {
              // return "Select";
              return selectionBox.getPromptText();
          })
      );
      

      The selectedItemsConverterProperty provides a way to bind the display logic to UI components, enabling dynamic updates whenever the selected items change or the converter is redefined.

      Returns:
      the property object for the string converter that formats the display of selected items.
      See Also:
    • getSelectedItemsConverter

      public final javafx.util.StringConverter<List<T>> getSelectedItemsConverter()
      Gets the value of the selectedItemsConverter property.
      Property description:
      Retrieves the property object for a string converter used to format the display of selected items. This converter allows for customization of how selected items are represented in the UI. For instance, if the selected item collection is [1, 2, 3, 4, 5], the converter can format this list to display as "1, 2, 3, 4, 5". By setting a custom converter, it is possible to modify the display to any desired format, such as "1~5".

      If the selected items list is null or empty, the promptTextProperty() value will be used instead, so there is no need to handle these cases within the converter. You can also choose to always return your own string (for example, "Select" or "Please choose")

      selectionBox.setSelectedItemsConverter(
          new SimpleStringConverter<>(selectedItems -> {
              // return "Select";
              return selectionBox.getPromptText();
          })
      );
      

      The selectedItemsConverterProperty provides a way to bind the display logic to UI components, enabling dynamic updates whenever the selected items change or the converter is redefined.

      Returns:
      the value of the selectedItemsConverter property
      See Also:
    • setSelectedItemsConverter

      public final void setSelectedItemsConverter(javafx.util.StringConverter<List<T>> selectedItemsConverter)
      Sets the value of the selectedItemsConverter property.
      Property description:
      Retrieves the property object for a string converter used to format the display of selected items. This converter allows for customization of how selected items are represented in the UI. For instance, if the selected item collection is [1, 2, 3, 4, 5], the converter can format this list to display as "1, 2, 3, 4, 5". By setting a custom converter, it is possible to modify the display to any desired format, such as "1~5".

      If the selected items list is null or empty, the promptTextProperty() value will be used instead, so there is no need to handle these cases within the converter. You can also choose to always return your own string (for example, "Select" or "Please choose")

      selectionBox.setSelectedItemsConverter(
          new SimpleStringConverter<>(selectedItems -> {
              // return "Select";
              return selectionBox.getPromptText();
          })
      );
      

      The selectedItemsConverterProperty provides a way to bind the display logic to UI components, enabling dynamic updates whenever the selected items change or the converter is redefined.

      Parameters:
      selectedItemsConverter - the value for the selectedItemsConverter property
      See Also:
    • itemConverterProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<T>> itemConverterProperty()
      Retrieves the property object for the string converter that formats the display of individual items. This property allows for customization of how each item is represented as a string in the UI.
      Returns:
      the property object for the string converter used to format individual items.
      See Also:
    • getItemConverter

      public final javafx.util.StringConverter<T> getItemConverter()
      Gets the value of the itemConverter property.
      Property description:
      Retrieves the property object for the string converter that formats the display of individual items. This property allows for customization of how each item is represented as a string in the UI.
      Returns:
      the value of the itemConverter property
      See Also:
    • setItemConverter

      public final void setItemConverter(javafx.util.StringConverter<T> itemConverter)
      Sets the value of the itemConverter property.
      Property description:
      Retrieves the property object for the string converter that formats the display of individual items. This property allows for customization of how each item is represented as a string in the UI.
      Parameters:
      itemConverter - the value for the itemConverter property
      See Also:
    • readOnlyProperty

      public final javafx.beans.property.BooleanProperty readOnlyProperty()
      Returns the BooleanProperty that controls the read-only state of the SelectionBox. When set to true, the SelectionBox will be in read-only mode, preventing user interaction.

      Can be set via CSS using the -fx-read-only property. Valid values are: true or false. The default value is false.

      Returns:
      the BooleanProperty controlling the read-only state of the SelectionBox.
      See Also:
    • isReadOnly

      public final boolean isReadOnly()
      Gets the value of the readOnly property.
      Property description:
      Returns the BooleanProperty that controls the read-only state of the SelectionBox. When set to true, the SelectionBox will be in read-only mode, preventing user interaction.

      Can be set via CSS using the -fx-read-only property. Valid values are: true or false. The default value is false.

      Returns:
      the value of the readOnly property
      See Also:
    • setReadOnly

      public final void setReadOnly(boolean readOnly)
      Sets the value of the readOnly property.
      Property description:
      Returns the BooleanProperty that controls the read-only state of the SelectionBox. When set to true, the SelectionBox will be in read-only mode, preventing user interaction.

      Can be set via CSS using the -fx-read-only property. Valid values are: true or false. The default value is false.

      Parameters:
      readOnly - the value for the readOnly property
      See Also:
    • getSelectionModel

      public final javafx.scene.control.MultipleSelectionModel<T> getSelectionModel()
      Gets the value of the selectionModel property.
      Property description:
      Returns the property object for the selection model used by this SelectionBox. The selection model defines the APIs responsible for handling selection, primarily in the context of multiple or single selection modes.
      Returns:
      the value of the selectionModel property
      See Also:
    • selectionModelProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>> selectionModelProperty()
      Returns the property object for the selection model used by this SelectionBox. The selection model defines the APIs responsible for handling selection, primarily in the context of multiple or single selection modes.
      Returns:
      the ObjectProperty containing the selection model.
      See Also:
    • setSelectionModel

      public final void setSelectionModel(javafx.scene.control.MultipleSelectionModel<T> selectionModel)
      Sets the value of the selectionModel property.
      Property description:
      Returns the property object for the selection model used by this SelectionBox. The selection model defines the APIs responsible for handling selection, primarily in the context of multiple or single selection modes.
      Parameters:
      selectionModel - the value for the selectionModel property
      See Also:
    • getCurrentSelectionMode

      public final javafx.scene.control.SelectionMode getCurrentSelectionMode()
      Gets the value of the currentSelectionMode property.
      Property description:
      Provides a read-only property that directly exposes the current SelectionMode of this control without requiring multilevel checks on the underlying MultipleSelectionModel. This is particularly convenient for child classes or external consumers who need to quickly determine whether the mode is SelectionMode.SINGLE, SelectionMode.MULTIPLE, or null (in case there is no active selection model).

      To modify the selection mode, call getSelectionModel().setSelectionMode(...) directly, since this property itself is read-only.

      Returns:
      the value of the currentSelectionMode property
      See Also:
    • currentSelectionModeProperty

      public final javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.control.SelectionMode> currentSelectionModeProperty()
      Provides a read-only property that directly exposes the current SelectionMode of this control without requiring multilevel checks on the underlying MultipleSelectionModel. This is particularly convenient for child classes or external consumers who need to quickly determine whether the mode is SelectionMode.SINGLE, SelectionMode.MULTIPLE, or null (in case there is no active selection model).

      To modify the selection mode, call getSelectionModel().setSelectionMode(...) directly, since this property itself is read-only.

      Returns:
      a read-only SelectionMode property
      See Also:
    • animationEnabledProperty

      public final javafx.beans.property.BooleanProperty animationEnabledProperty()
      Controls whether animation is enabled for the popup opening/closing transitions.

      Can be set via CSS using the -fx-animation-enabled property. Valid values are: true or false. The default value is false.

      Returns:
      the animation enabled property
      See Also:
    • isAnimationEnabled

      public final boolean isAnimationEnabled()
      Gets the value of the animationEnabled property.
      Property description:
      Controls whether animation is enabled for the popup opening/closing transitions.

      Can be set via CSS using the -fx-animation-enabled property. Valid values are: true or false. The default value is false.

      Returns:
      the value of the animationEnabled property
      See Also:
    • setAnimationEnabled

      public final void setAnimationEnabled(boolean value)
      Sets the value of the animationEnabled property.
      Property description:
      Controls whether animation is enabled for the popup opening/closing transitions.

      Can be set via CSS using the -fx-animation-enabled property. Valid values are: true or false. The default value is false.

      Parameters:
      value - the value for the animationEnabled property
      See Also:
    • onShowingProperty

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onShowingProperty()
      The event handler property invoked before the SelectionPopup is shown.

      This maps to WindowEvent.WINDOW_SHOWING. Use this to prepare data or UI state right before the popup becomes visible.

      Returns:
      the property holding the handler invoked before showing the popup
      See Also:
    • setOnShowing

      public final void setOnShowing(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
      Sets the value of the onShowing property.
      Property description:
      The event handler property invoked before the SelectionPopup is shown.

      This maps to WindowEvent.WINDOW_SHOWING. Use this to prepare data or UI state right before the popup becomes visible.

      Parameters:
      value - the value for the onShowing property
      See Also:
    • getOnShowing

      public final javafx.event.EventHandler<javafx.stage.WindowEvent> getOnShowing()
      Gets the value of the onShowing property.
      Property description:
      The event handler property invoked before the SelectionPopup is shown.

      This maps to WindowEvent.WINDOW_SHOWING. Use this to prepare data or UI state right before the popup becomes visible.

      Returns:
      the value of the onShowing property
      See Also:
    • onShownProperty

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onShownProperty()
      The event handler property invoked after the SelectionPopup has been shown.

      This maps to WindowEvent.WINDOW_SHOWN. Use this to run logic that depends on the popup being visible (e.g., focusing a field inside the popup).

      Returns:
      the property holding the handler invoked after the popup is shown
      See Also:
    • setOnShown

      public final void setOnShown(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
      Sets the value of the onShown property.
      Property description:
      The event handler property invoked after the SelectionPopup has been shown.

      This maps to WindowEvent.WINDOW_SHOWN. Use this to run logic that depends on the popup being visible (e.g., focusing a field inside the popup).

      Parameters:
      value - the value for the onShown property
      See Also:
    • getOnShown

      public final javafx.event.EventHandler<javafx.stage.WindowEvent> getOnShown()
      Gets the value of the onShown property.
      Property description:
      The event handler property invoked after the SelectionPopup has been shown.

      This maps to WindowEvent.WINDOW_SHOWN. Use this to run logic that depends on the popup being visible (e.g., focusing a field inside the popup).

      Returns:
      the value of the onShown property
      See Also:
    • onHidingProperty

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onHidingProperty()
      The event handler property invoked before the SelectionPopup is hidden.

      This maps to WindowEvent.WINDOW_HIDING. Use this to validate or persist a transient state before closing the popup.

      Returns:
      the property holding the handler invoked before the popup is hidden
      See Also:
    • setOnHiding

      public final void setOnHiding(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
      Sets the value of the onHiding property.
      Property description:
      The event handler property invoked before the SelectionPopup is hidden.

      This maps to WindowEvent.WINDOW_HIDING. Use this to validate or persist a transient state before closing the popup.

      Parameters:
      value - the value for the onHiding property
      See Also:
    • getOnHiding

      public final javafx.event.EventHandler<javafx.stage.WindowEvent> getOnHiding()
      Gets the value of the onHiding property.
      Property description:
      The event handler property invoked before the SelectionPopup is hidden.

      This maps to WindowEvent.WINDOW_HIDING. Use this to validate or persist a transient state before closing the popup.

      Returns:
      the value of the onHiding property
      See Also:
    • onHiddenProperty

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.stage.WindowEvent>> onHiddenProperty()
      The event handler property invoked after the SelectionPopup has been hidden.

      This maps to WindowEvent.WINDOW_HIDDEN. Use this to perform cleanup work after the popup is fully closed.

      Returns:
      the property holding the handler invoked after the popup is hidden
      See Also:
    • setOnHidden

      public final void setOnHidden(javafx.event.EventHandler<javafx.stage.WindowEvent> value)
      Sets the value of the onHidden property.
      Property description:
      The event handler property invoked after the SelectionPopup has been hidden.

      This maps to WindowEvent.WINDOW_HIDDEN. Use this to perform cleanup work after the popup is fully closed.

      Parameters:
      value - the value for the onHidden property
      See Also:
    • getOnHidden

      public final javafx.event.EventHandler<javafx.stage.WindowEvent> getOnHidden()
      Gets the value of the onHidden property.
      Property description:
      The event handler property invoked after the SelectionPopup has been hidden.

      This maps to WindowEvent.WINDOW_HIDDEN. Use this to perform cleanup work after the popup is fully closed.

      Returns:
      the value of the onHidden property
      See Also:
    • getClassCssMetaData

      public static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getClassCssMetaData()
    • getControlCssMetaData

      public List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getControlCssMetaData()
      Overrides:
      getControlCssMetaData in class javafx.scene.control.Control