Module javafx.controls
Package javafx.scene.control

# Class ComboBoxBase<T>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.ComboBoxBase<T>

Type Parameters:
  `T` - The type of the value that has been selected or otherwise entered in to this ComboBox.

All Implemented Interfaces:
  `Styleable`, `EventTarget`, `Skinnable`

Direct Known Subclasses:
  `ColorPicker`, `ComboBox`, `DatePicker`

public abstract class ComboBoxBase<T> extends Control
Abstract base class for ComboBox-like controls. A ComboBox typically has a button that, when clicked, will pop up some means of allowing a user to select one or more values (depending on the implementation). This base class makes no assumptions about what happens when the `show()` and `hide()` methods are called, however commonly this results in either a popup or dialog appearing that allows for the user to provide the required information.

A ComboBox has a `value` property that represents the current user input. This may be based on a selection from a drop-down list, or it may be from user input when the ComboBox is `editable`.

An `editable` ComboBox is one which provides some means for an end-user to provide input for values that are not otherwise options available to them. For example, in the `ComboBox` implementation, an editable ComboBox provides a `TextField` that may be typed into. As mentioned above, when the user commits textual input into the textfield (commonly by pressing the Enter keyboard key), the `value` property will be updated.

The purpose of the separation between this class and, say, `ComboBox` is to allow for ComboBox-like controls that do not necessarily pop up a list of items. Examples of other implementations include color pickers, calendar pickers, etc. The `ComboBox` class provides the default, and most commonly expected implementation. Refer to that classes javadoc for more information.

Since:
  JavaFX 2.1
See Also:
  - `ComboBox`

- ## Property Summary

  Properties
  Type
  Property
  Description
  `BooleanProperty`
  `armed`
  Indicates that the ComboBox has been "armed" such that a mouse release will cause the ComboBox `show()` method to be invoked.
  `BooleanProperty`
  `editable`
  Specifies whether the ComboBox allows for user input.
  `final ObjectProperty<EventHandler<ActionEvent>>`
  `onAction`
  The ComboBox action, which is invoked whenever the ComboBox `value` property is changed.
  `final ObjectProperty<EventHandler<Event>>`
  `onHidden`
  Called just after the `ComboBoxBase` popup/display has been hidden.
  `final ObjectProperty<EventHandler<Event>>`
  `onHiding`
  Called just prior to the `ComboBox` popup/display being hidden.
  `final ObjectProperty<EventHandler<Event>>`
  `onShowing`
  Called just prior to the `ComboBoxBase` popup/display being shown.
  `final ObjectProperty<EventHandler<Event>>`
  `onShown`
  Called just after the `ComboBoxBase` popup/display is shown.
  `final StringProperty`
  `promptText`
  The `ComboBox` prompt text to display, or `null` if no prompt text is displayed.
  `ReadOnlyBooleanProperty`
  `showing`
  Represents the current state of the ComboBox popup, and whether it is currently visible on screen (although it may be hidden behind other windows).
  `ObjectProperty<T>`
  `value`
  The value of this ComboBox is defined as the selected item if the input is not editable, or if it is editable, the most recent user action: either the value input by the user, or the last selected item.

  ### Properties declared in class javafx.scene.control.Control

  `contextMenu, skin, tooltip`

  ### Properties declared in class javafx.scene.layout.Region

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

  ### Properties declared in class javafx.scene.Parent

  `needsLayout`

  ### Properties declared in class javafx.scene.Node

  `accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, 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
  Modifier and Type
  Field
  Description
  `static final EventType<Event>`
  `ON_HIDDEN`
  Called when the ComboBox popup/display has been hidden.
  `static final EventType<Event>`
  `ON_HIDING`
  Called when the ComboBox popup/display will be hidden.
  `static final EventType<Event>`
  `ON_SHOWING`
  Called prior to the ComboBox showing its popup/display after the user has clicked or otherwise interacted with the ComboBox.
  `static final EventType<Event>`
  `ON_SHOWN`
  Called after the ComboBox has shown its popup/display.

  ### Fields declared in class javafx.scene.layout.Region

  `USE_COMPUTED_SIZE, USE_PREF_SIZE`

  ### Fields declared in class javafx.scene.Node

  `BASELINE_OFFSET_SAME_AS_HEIGHT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ComboBoxBase()`
  Creates a default ComboBoxBase instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `arm()`
  Arms the ComboBox.
  `BooleanProperty`
  `armedProperty()`
  Indicates that the ComboBox has been "armed" such that a mouse release will cause the ComboBox `show()` method to be invoked.
  `void`
  `disarm()`
  Disarms the ComboBox.
  `BooleanProperty`
  `editableProperty()`
  Specifies whether the ComboBox allows for user input.
  `final EventHandler<ActionEvent>`
  `getOnAction()`
  Gets the value of the property onAction.
  `final EventHandler<Event>`
  `getOnHidden()`
  Gets the value of the property onHidden.
  `final EventHandler<Event>`
  `getOnHiding()`
  Gets the value of the property onHiding.
  `final EventHandler<Event>`
  `getOnShowing()`
  Gets the value of the property onShowing.
  `final EventHandler<Event>`
  `getOnShown()`
  Gets the value of the property onShown.
  `final String`
  `getPromptText()`
  Gets the value of the property promptText.
  `final T`
  `getValue()`
  Gets the value of the property value.
  `void`
  `hide()`
  Closes the popup / dialog that was shown when `show()` was called.
  `final boolean`
  `isArmed()`
  Gets the value of the property armed.
  `final boolean`
  `isEditable()`
  Gets the value of the property editable.
  `final boolean`
  `isShowing()`
  Gets the value of the property showing.
  `final ObjectProperty<EventHandler<ActionEvent>>`
  `onActionProperty()`
  The ComboBox action, which is invoked whenever the ComboBox `value` property is changed.
  `final ObjectProperty<EventHandler<Event>>`
  `onHiddenProperty()`
  Called just after the `ComboBoxBase` popup/display has been hidden.
  `final ObjectProperty<EventHandler<Event>>`
  `onHidingProperty()`
  Called just prior to the `ComboBox` popup/display being hidden.
  `final ObjectProperty<EventHandler<Event>>`
  `onShowingProperty()`
  Called just prior to the `ComboBoxBase` popup/display being shown.
  `final ObjectProperty<EventHandler<Event>>`
  `onShownProperty()`
  Called just after the `ComboBoxBase` popup/display is shown.
  `final StringProperty`
  `promptTextProperty()`
  The `ComboBox` prompt text to display, or `null` if no prompt text is displayed.
  `final void`
  `setEditable(boolean value)`
  Sets the value of the property editable.
  `final void`
  `setOnAction(EventHandler<ActionEvent> value)`
  Sets the value of the property onAction.
  `final void`
  `setOnHidden(EventHandler<Event> value)`
  Sets the value of the property onHidden.
  `final void`
  `setOnHiding(EventHandler<Event> value)`
  Sets the value of the property onHiding.
  `final void`
  `setOnShowing(EventHandler<Event> value)`
  Sets the value of the property onShowing.
  `final void`
  `setOnShown(EventHandler<Event> value)`
  Sets the value of the property onShown.
  `final void`
  `setPromptText(String value)`
  Sets the value of the property promptText.
  `final void`
  `setValue(T value)`
  Sets the value of the property value.
  `void`
  `show()`
  Requests that the ComboBox display the popup aspect of the user interface.
  `ReadOnlyBooleanProperty`
  `showingProperty()`
  Represents the current state of the ComboBox popup, and whether it is currently visible on screen (although it may be hidden behind other windows).
  `ObjectProperty<T>`
  `valueProperty()`
  The value of this ComboBox is defined as the selected item if the input is not editable, or if it is editable, the most recent user action: either the value input by the user, or the last selected item.

  ### Methods declared in class javafx.scene.control.Control

  `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty`

  ### Methods declared in class javafx.scene.layout.Region

  `backgroundProperty, 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, widthProperty`

  ### Methods declared in class javafx.scene.Parent

  `getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds`

  ### Methods declared in 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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, 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, 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, visibleProperty`

  ### Methods declared in class java.lang.Object

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

  ### Methods declared in interface javafx.css.Styleable

  `getStyleableNode`

- ## Property Details

  - ### value

    public ObjectProperty<T> valueProperty
    The value of this ComboBox is defined as the selected item if the input is not editable, or if it is editable, the most recent user action: either the value input by the user, or the last selected item.
    See Also:
      - `getValue()`
      - `setValue(T)`

  - ### editable

    public BooleanProperty editableProperty
    Specifies whether the ComboBox allows for user input. When editable is true, the ComboBox has a text input area that a user may type in to. This input is then available via the `value` property.

    Note that when the editable property changes, the value property is reset, along with any other relevant state.

    See Also:
      - `isEditable()`
      - `setEditable(boolean)`

  - ### showing

    public ReadOnlyBooleanProperty showingProperty
    Represents the current state of the ComboBox popup, and whether it is currently visible on screen (although it may be hidden behind other windows).
    See Also:
      - `isShowing()`

  - ### promptText

    public final StringProperty promptTextProperty
    The `ComboBox` prompt text to display, or `null` if no prompt text is displayed. Prompt text is not displayed in all circumstances, it is dependent upon the subclasses of ComboBoxBase to clarify when promptText will be shown. For example, in most cases prompt text will never be shown when a combo box is non-editable (that is, prompt text is only shown when user input is allowed via text input).
    See Also:
      - `getPromptText()`
      - `setPromptText(String)`

  - ### armed

    public BooleanProperty armedProperty
    Indicates that the ComboBox has been "armed" such that a mouse release will cause the ComboBox `show()` method to be invoked. This is subtly different from pressed. Pressed indicates that the mouse has been pressed on a Node and has not yet been released. `arm` however also takes into account whether the mouse is actually over the ComboBox and pressed.
    See Also:
      - `isArmed()`

  - ### onAction

    public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty
    The ComboBox action, which is invoked whenever the ComboBox `value` property is changed. This may be due to the value property being programmatically changed, when the user selects an item in a popup list or dialog, or, in the case of `editable` ComboBoxes, it may be when the user provides their own input (be that via a `TextField` or some other input mechanism.
    See Also:
      - `getOnAction()`
      - `setOnAction(EventHandler)`

  - ### onShowing

    public final ObjectProperty<EventHandler<Event>> onShowingProperty
    Called just prior to the `ComboBoxBase` popup/display being shown.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnShowing()`
      - `setOnShowing(EventHandler)`

  - ### onShown

    public final ObjectProperty<EventHandler<Event>> onShownProperty
    Called just after the `ComboBoxBase` popup/display is shown.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnShown()`
      - `setOnShown(EventHandler)`

  - ### onHiding

    public final ObjectProperty<EventHandler<Event>> onHidingProperty
    Called just prior to the `ComboBox` popup/display being hidden.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnHiding()`
      - `setOnHiding(EventHandler)`

  - ### onHidden

    public final ObjectProperty<EventHandler<Event>> onHiddenProperty
    Called just after the `ComboBoxBase` popup/display has been hidden.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnHidden()`
      - `setOnHidden(EventHandler)`

- ## Field Details

  - ### ON_SHOWING

    public static final EventType<Event> ON_SHOWING

    Called prior to the ComboBox showing its popup/display after the user has clicked or otherwise interacted with the ComboBox.

    Since:
      JavaFX 2.2

  - ### ON_SHOWN

    public static final EventType<Event> ON_SHOWN

    Called after the ComboBox has shown its popup/display.

    Since:
      JavaFX 2.2

  - ### ON_HIDING

    public static final EventType<Event> ON_HIDING

    Called when the ComboBox popup/display will be hidden.

    Since:
      JavaFX 2.2

  - ### ON_HIDDEN

    public static final EventType<Event> ON_HIDDEN

    Called when the ComboBox popup/display has been hidden.

    Since:
      JavaFX 2.2

- ## Constructor Details

  - ### ComboBoxBase

    public ComboBoxBase()
    Creates a default ComboBoxBase instance.

- ## Method Details

  - ### valueProperty

    public ObjectProperty<T> valueProperty()
    The value of this ComboBox is defined as the selected item if the input is not editable, or if it is editable, the most recent user action: either the value input by the user, or the last selected item.
    See Also:
      - `getValue()`
      - `setValue(T)`

  - ### setValue

    public final void setValue(T value)
    Sets the value of the property value.
    Property description:
      The value of this ComboBox is defined as the selected item if the input is not editable, or if it is editable, the most recent user action: either the value input by the user, or the last selected item.

  - ### getValue

    public final T getValue()
    Gets the value of the property value.
    Property description:
      The value of this ComboBox is defined as the selected item if the input is not editable, or if it is editable, the most recent user action: either the value input by the user, or the last selected item.

  - ### editableProperty

    public BooleanProperty editableProperty()
    Specifies whether the ComboBox allows for user input. When editable is true, the ComboBox has a text input area that a user may type in to. This input is then available via the `value` property.

    Note that when the editable property changes, the value property is reset, along with any other relevant state.

    See Also:
      - `isEditable()`
      - `setEditable(boolean)`

  - ### setEditable

    public final void setEditable(boolean value)
    Sets the value of the property editable.
    Property description:
      Specifies whether the ComboBox allows for user input. When editable is true, the ComboBox has a text input area that a user may type in to. This input is then available via the `value` property.

      Note that when the editable property changes, the value property is reset, along with any other relevant state.

  - ### isEditable

    public final boolean isEditable()
    Gets the value of the property editable.
    Property description:
      Specifies whether the ComboBox allows for user input. When editable is true, the ComboBox has a text input area that a user may type in to. This input is then available via the `value` property.

      Note that when the editable property changes, the value property is reset, along with any other relevant state.

  - ### showingProperty

    public ReadOnlyBooleanProperty showingProperty()
    Represents the current state of the ComboBox popup, and whether it is currently visible on screen (although it may be hidden behind other windows).
    See Also:
      - `isShowing()`

  - ### isShowing

    public final boolean isShowing()
    Gets the value of the property showing.
    Property description:
      Represents the current state of the ComboBox popup, and whether it is currently visible on screen (although it may be hidden behind other windows).

  - ### promptTextProperty

    public final StringProperty promptTextProperty()
    The `ComboBox` prompt text to display, or `null` if no prompt text is displayed. Prompt text is not displayed in all circumstances, it is dependent upon the subclasses of ComboBoxBase to clarify when promptText will be shown. For example, in most cases prompt text will never be shown when a combo box is non-editable (that is, prompt text is only shown when user input is allowed via text input).
    See Also:
      - `getPromptText()`
      - `setPromptText(String)`

  - ### getPromptText

    public final String getPromptText()
    Gets the value of the property promptText.
    Property description:
      The `ComboBox` prompt text to display, or `null` if no prompt text is displayed. Prompt text is not displayed in all circumstances, it is dependent upon the subclasses of ComboBoxBase to clarify when promptText will be shown. For example, in most cases prompt text will never be shown when a combo box is non-editable (that is, prompt text is only shown when user input is allowed via text input).

  - ### setPromptText

    public final void setPromptText(String value)
    Sets the value of the property promptText.
    Property description:
      The `ComboBox` prompt text to display, or `null` if no prompt text is displayed. Prompt text is not displayed in all circumstances, it is dependent upon the subclasses of ComboBoxBase to clarify when promptText will be shown. For example, in most cases prompt text will never be shown when a combo box is non-editable (that is, prompt text is only shown when user input is allowed via text input).

  - ### armedProperty

    public BooleanProperty armedProperty()
    Indicates that the ComboBox has been "armed" such that a mouse release will cause the ComboBox `show()` method to be invoked. This is subtly different from pressed. Pressed indicates that the mouse has been pressed on a Node and has not yet been released. `arm` however also takes into account whether the mouse is actually over the ComboBox and pressed.
    See Also:
      - `isArmed()`

  - ### isArmed

    public final boolean isArmed()
    Gets the value of the property armed.
    Property description:
      Indicates that the ComboBox has been "armed" such that a mouse release will cause the ComboBox `show()` method to be invoked. This is subtly different from pressed. Pressed indicates that the mouse has been pressed on a Node and has not yet been released. `arm` however also takes into account whether the mouse is actually over the ComboBox and pressed.

  - ### onActionProperty

    public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty()
    The ComboBox action, which is invoked whenever the ComboBox `value` property is changed. This may be due to the value property being programmatically changed, when the user selects an item in a popup list or dialog, or, in the case of `editable` ComboBoxes, it may be when the user provides their own input (be that via a `TextField` or some other input mechanism.
    See Also:
      - `getOnAction()`
      - `setOnAction(EventHandler)`

  - ### setOnAction

    public final void setOnAction(EventHandler<ActionEvent> value)
    Sets the value of the property onAction.
    Property description:
      The ComboBox action, which is invoked whenever the ComboBox `value` property is changed. This may be due to the value property being programmatically changed, when the user selects an item in a popup list or dialog, or, in the case of `editable` ComboBoxes, it may be when the user provides their own input (be that via a `TextField` or some other input mechanism.

  - ### getOnAction

    public final EventHandler<ActionEvent> getOnAction()
    Gets the value of the property onAction.
    Property description:
      The ComboBox action, which is invoked whenever the ComboBox `value` property is changed. This may be due to the value property being programmatically changed, when the user selects an item in a popup list or dialog, or, in the case of `editable` ComboBoxes, it may be when the user provides their own input (be that via a `TextField` or some other input mechanism.

  - ### onShowingProperty

    public final ObjectProperty<EventHandler<Event>> onShowingProperty()
    Called just prior to the `ComboBoxBase` popup/display being shown.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnShowing()`
      - `setOnShowing(EventHandler)`

  - ### setOnShowing

    public final void setOnShowing(EventHandler<Event> value)
    Sets the value of the property onShowing.
    Property description:
      Called just prior to the `ComboBoxBase` popup/display being shown.
    Since:
      JavaFX 2.2

  - ### getOnShowing

    public final EventHandler<Event> getOnShowing()
    Gets the value of the property onShowing.
    Property description:
      Called just prior to the `ComboBoxBase` popup/display being shown.
    Since:
      JavaFX 2.2

  - ### onShownProperty

    public final ObjectProperty<EventHandler<Event>> onShownProperty()
    Called just after the `ComboBoxBase` popup/display is shown.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnShown()`
      - `setOnShown(EventHandler)`

  - ### setOnShown

    public final void setOnShown(EventHandler<Event> value)
    Sets the value of the property onShown.
    Property description:
      Called just after the `ComboBoxBase` popup/display is shown.
    Since:
      JavaFX 2.2

  - ### getOnShown

    public final EventHandler<Event> getOnShown()
    Gets the value of the property onShown.
    Property description:
      Called just after the `ComboBoxBase` popup/display is shown.
    Since:
      JavaFX 2.2

  - ### onHidingProperty

    public final ObjectProperty<EventHandler<Event>> onHidingProperty()
    Called just prior to the `ComboBox` popup/display being hidden.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnHiding()`
      - `setOnHiding(EventHandler)`

  - ### setOnHiding

    public final void setOnHiding(EventHandler<Event> value)
    Sets the value of the property onHiding.
    Property description:
      Called just prior to the `ComboBox` popup/display being hidden.
    Since:
      JavaFX 2.2

  - ### getOnHiding

    public final EventHandler<Event> getOnHiding()
    Gets the value of the property onHiding.
    Property description:
      Called just prior to the `ComboBox` popup/display being hidden.
    Since:
      JavaFX 2.2

  - ### onHiddenProperty

    public final ObjectProperty<EventHandler<Event>> onHiddenProperty()
    Called just after the `ComboBoxBase` popup/display has been hidden.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnHidden()`
      - `setOnHidden(EventHandler)`

  - ### setOnHidden

    public final void setOnHidden(EventHandler<Event> value)
    Sets the value of the property onHidden.
    Property description:
      Called just after the `ComboBoxBase` popup/display has been hidden.
    Since:
      JavaFX 2.2

  - ### getOnHidden

    public final EventHandler<Event> getOnHidden()
    Gets the value of the property onHidden.
    Property description:
      Called just after the `ComboBoxBase` popup/display has been hidden.
    Since:
      JavaFX 2.2

  - ### show

    public void show()
    Requests that the ComboBox display the popup aspect of the user interface. As mentioned in the `ComboBoxBase` class javadoc, what is actually shown when this method is called is undefined, but commonly it is some form of popup or dialog window.

  - ### hide

    public void hide()
    Closes the popup / dialog that was shown when `show()` was called.

  - ### arm

    public void arm()
    Arms the ComboBox. An armed ComboBox will show a popup list on the next expected UI gesture. Note: This function is intended to be used by experts, primarily by those implementing new Skins or Behaviors. It is not common for developers or designers to access this function directly.

  - ### disarm

    public void disarm()
    Disarms the ComboBox. See `arm()`. Note: This function is intended to be used by experts, primarily by those implementing new Skins or Behaviors. It is not common for developers or designers to access this function directly.