# Class ComboBoxBaseSkin<T>

java.lang.Object
javafx.scene.control.SkinBase<ComboBoxBase<T>>
javafx.scene.control.skin.ComboBoxBaseSkin<T>

Type Parameters:
  `T` - The type of the ComboBox-like control.

All Implemented Interfaces:
  `Skin<ComboBoxBase<T>>`

Direct Known Subclasses:
  `ComboBoxPopupControl`

public abstract class ComboBoxBaseSkin<T> extends SkinBase<ComboBoxBase<T>>
An abstract class intended to be used as the base skin for ComboBox-like controls that are based on `ComboBoxBase`. Most users of this skin class would be well-advised to also look at `ComboBoxPopupControl` for additional useful API.

Since:
  9
See Also:
  - `ComboBoxBase`
  - `ComboBoxPopupControl`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ComboBoxBaseSkin(ComboBoxBase<T> control)`
  Creates a new instance of ComboBoxBaseSkin, although note that this instance does not handle any behavior / input mappings - this needs to be handled appropriately by subclasses.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Node`
  `getDisplayNode()`
  This method should return a Node that will be positioned within the ComboBox 'button' area.
  `abstract void`
  `hide()`
  This method will be called when the ComboBox popup should be hidden.
  `abstract void`
  `show()`
  This method will be called when the ComboBox popup should be displayed.

  ### Methods declared in class SkinBase

  `computeBaselineOffset, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, consumeMouseEvents, dispose, executeAccessibleAction, getChildren, getClassCssMetaData, getCssMetaData, getNode, getSkinnable, layoutChildren, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, registerChangeListener, registerInvalidationListener, registerListChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners, unregisterInvalidationListeners, unregisterListChangeListeners`

  ### Methods declared in class Object

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

  ### Methods declared in interface Skin

  `install`

- ## Constructor Details

  - ### ComboBoxBaseSkin

    public ComboBoxBaseSkin(ComboBoxBase<T> control)
    Creates a new instance of ComboBoxBaseSkin, although note that this instance does not handle any behavior / input mappings - this needs to be handled appropriately by subclasses.
    Parameters:
      `control` - The control that this skin should be installed onto.

- ## Method Details

  - ### getDisplayNode

    public abstract Node getDisplayNode()
    This method should return a Node that will be positioned within the ComboBox 'button' area.
    Returns:
      the node that will be positioned within the ComboBox 'button' area

  - ### show

    public abstract void show()
    This method will be called when the ComboBox popup should be displayed. It is up to specific skin implementations to determine how this is handled.
    Throws:
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

  - ### hide

    public abstract void hide()
    This method will be called when the ComboBox popup should be hidden. It is up to specific skin implementations to determine how this is handled.
    Throws:
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.