# 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
  `final BooleanProperty`
  `armed`
  Indicates that the ComboBox has been "armed" such that a mouse release will cause the ComboBox `show()` method to be invoked.
  `final 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.
  `final 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).
  `final 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, 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
  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.
  `final 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.
  `final BooleanProperty`
  `editableProperty()`
  Specifies whether the ComboBox allows for user input.
  `final EventHandler<ActionEvent>`
  `getOnAction()`
  Gets the value of the `onAction` property.
  `final EventHandler<Event>`
  `getOnHidden()`
  Gets the value of the `onHidden` property.
  `final EventHandler<Event>`
  `getOnHiding()`
  Gets the value of the `onHiding` property.
  `final EventHandler<Event>`
  `getOnShowing()`
  Gets the value of the `onShowing` property.
  `final EventHandler<Event>`
  `getOnShown()`
  Gets the value of the `onShown` property.
  `final String`
  `getPromptText()`
  Gets the value of the `promptText` property.
  `final T`
  `getValue()`
  Gets the value of the `value` property.
  `void`
  `hide()`
  Closes the popup / dialog that was shown when `show()` was called.
  `final boolean`
  `isArmed()`
  Gets the value of the `armed` property.
  `final boolean`
  `isEditable()`
  Gets the value of the `editable` property.
  `final boolean`
  `isShowing()`
  Gets the value of the `showing` property.
  `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 `editable` property.
  `final void`
  `setOnAction(EventHandler<ActionEvent> value)`
  Sets the value of the `onAction` property.
  `final void`
  `setOnHidden(EventHandler<Event> value)`
  Sets the value of the `onHidden` property.
  `final void`
  `setOnHiding(EventHandler<Event> value)`
  Sets the value of the `onHiding` property.
  `final void`
  `setOnShowing(EventHandler<Event> value)`
  Sets the value of the `onShowing` property.
  `final void`
  `setOnShown(EventHandler<Event> value)`
  Sets the value of the `onShown` property.
  `final void`
  `setPromptText(String value)`
  Sets the value of the `promptText` property.
  `final void`
  `setValue(T value)`
  Sets the value of the `value` property.
  `void`
  `show()`
  Requests that the ComboBox display the popup associated with this control.
  `final 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).
  `final 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, 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, 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, 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 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 final 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)`
      - `valueProperty()`

  - ### editable

    public final 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)`
      - `editableProperty()`

  - ### showing

    public final 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()`
      - `showingProperty()`

  - ### 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)`
      - `promptTextProperty()`

  - ### armed

    public final 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()`
      - `armedProperty()`

  - ### 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)`
      - `onActionProperty()`

  - ### 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)`
      - `onShowingProperty()`

  - ### 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)`
      - `onShownProperty()`

  - ### 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)`
      - `onHidingProperty()`

  - ### 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)`
      - `onHiddenProperty()`

- ## 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 final 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.
    Returns:
      the value property
    See Also:
      - `getValue()`
      - `setValue(T)`

  - ### setValue

    public final void setValue(T value)
    Sets the value of the `value` property.
    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.
    Parameters:
      `value` - the value for the `value` property
    See Also:
      - `getValue()`
      - `valueProperty()`

  - ### getValue

    public final T getValue()
    Gets the value of the `value` property.
    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.
    Returns:
      the value of the `value` property
    See Also:
      - `setValue(T)`
      - `valueProperty()`

  - ### editableProperty

    public final 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.

    Returns:
      the editable property
    See Also:
      - `isEditable()`
      - `setEditable(boolean)`

  - ### setEditable

    public final void setEditable(boolean value)
    Sets the value of the `editable` property.
    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.

    Parameters:
      `value` - the value for the `editable` property
    See Also:
      - `isEditable()`
      - `editableProperty()`

  - ### isEditable

    public final boolean isEditable()
    Gets the value of the `editable` property.
    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.

    Returns:
      the value of the `editable` property
    See Also:
      - `setEditable(boolean)`
      - `editableProperty()`

  - ### showingProperty

    public final 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).
    Returns:
      the `showing` property
    See Also:
      - `isShowing()`

  - ### isShowing

    public final boolean isShowing()
    Gets the value of the `showing` property.
    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).
    Returns:
      the value of the `showing` property
    See Also:
      - `showingProperty()`

  - ### 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).
    Returns:
      the `promptText` property
    See Also:
      - `getPromptText()`
      - `setPromptText(String)`

  - ### getPromptText

    public final String getPromptText()
    Gets the value of the `promptText` property.
    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).
    Returns:
      the value of the `promptText` property
    See Also:
      - `setPromptText(String)`
      - `promptTextProperty()`

  - ### setPromptText

    public final void setPromptText(String value)
    Sets the value of the `promptText` property.
    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).
    Parameters:
      `value` - the value for the `promptText` property
    See Also:
      - `getPromptText()`
      - `promptTextProperty()`

  - ### armedProperty

    public final 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.
    Returns:
      the armed property
    See Also:
      - `isArmed()`

  - ### isArmed

    public final boolean isArmed()
    Gets the value of the `armed` property.
    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.
    Returns:
      the value of the `armed` property
    See Also:
      - `armedProperty()`

  - ### 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.
    Returns:
      the on action property
    See Also:
      - `getOnAction()`
      - `setOnAction(EventHandler)`

  - ### setOnAction

    public final void setOnAction(EventHandler<ActionEvent> value)
    Sets the value of the `onAction` property.
    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.
    Parameters:
      `value` - the value for the `onAction` property
    See Also:
      - `getOnAction()`
      - `onActionProperty()`

  - ### getOnAction

    public final EventHandler<ActionEvent> getOnAction()
    Gets the value of the `onAction` property.
    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.
    Returns:
      the value of the `onAction` property
    See Also:
      - `setOnAction(EventHandler)`
      - `onActionProperty()`

  - ### onShowingProperty

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

  - ### setOnShowing

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

  - ### getOnShowing

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

  - ### onShownProperty

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

  - ### setOnShown

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

  - ### getOnShown

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

  - ### onHidingProperty

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

  - ### setOnHiding

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

  - ### getOnHiding

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

  - ### onHiddenProperty

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

  - ### setOnHidden

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

  - ### getOnHidden

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

  - ### show

    public void show()
    Requests that the ComboBox display the popup associated with this control. 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.
    Throws:
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

  - ### hide

    public void hide()
    Closes the popup / dialog that was shown when `show()` was called.
    Throws:
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

  - ### 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.