Module javafx.controls
Package javafx.scene.control.skin

# Class ComboBoxPopupControl<T>

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

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

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

Direct Known Subclasses:
  `ColorPickerSkin`, `ComboBoxListViewSkin`, `DatePickerSkin`

public abstract class ComboBoxPopupControl<T> extends ComboBoxBaseSkin<T>
An abstract class that extends the functionality of `ComboBoxBaseSkin` to include API related to showing ComboBox-like controls as popups.

Since:
  9

## Constructor Summary

Constructors
Constructor
Description
`ComboBoxPopupControl(ComboBoxBase<T> control)`
Creates a new instance of ComboBoxPopupControl, 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
`protected abstract StringConverter<T>`
`getConverter()`
Subclasses are responsible for getting the converter.
`protected abstract TextField`
`getEditor()`
Subclasses are responsible for getting the editor.
`protected abstract Node`
`getPopupContent()`
This method should return the Node that will be displayed when the user clicks on the ComboBox 'button' area.
`void`
`hide()`
This method will be called when the ComboBox popup should be hidden.
`void`
`show()`
This method will be called when the ComboBox popup should be displayed.

### Methods inherited from class javafx.scene.control.skin.ComboBoxBaseSkin

`computeBaselineOffset, computeMaxHeight, computeMaxWidth, computePrefHeight, computePrefWidth, getDisplayNode, layoutChildren`

### Methods inherited from class javafx.scene.control.SkinBase

`computeMinHeight, computeMinWidth, consumeMouseEvents, dispose, executeAccessibleAction, getChildren, getClassCssMetaData, getCssMetaData, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, registerChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners`

### Methods inherited from class java.lang.Object

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

## Constructor Details

### ComboBoxPopupControl

public ComboBoxPopupControl(ComboBoxBase<T> control)
Creates a new instance of ComboBoxPopupControl, 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

### getPopupContent

protected abstract Node getPopupContent()
This method should return the Node that will be displayed when the user clicks on the ComboBox 'button' area.

Returns:
  the Node that will be displayed when the user clicks on the ComboBox 'button' area

### getEditor

protected abstract TextField getEditor()
Subclasses are responsible for getting the editor. This will be removed in FX 9 when the editor property is moved up to ComboBoxBase with JDK-8130354 Note: ComboBoxListViewSkin should return null if editable is false, even if the ComboBox does have an editor set.

Returns:
  the editor

### getConverter

protected abstract StringConverter<T> getConverter()
Subclasses are responsible for getting the converter. This will be removed in FX 9 when the converter property is moved up to ComboBoxBase with JDK-8130354.

Returns:
  the string converter

### show

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

Specified by:
  `show` in class `ComboBoxBaseSkin<T>`

### hide

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

Specified by:
  `hide` in class `ComboBoxBaseSkin<T>`