- 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 protected double
computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
Calculates the baseline offset based on the first managed child.protected double
computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Computes the maximum allowable height of the Skin, based on the provided width.protected double
computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
Computes the maximum allowable width of the Skin, based on the provided height.protected double
computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
Calculates the preferred height of thisSkinBase
.protected double
computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
Calculates the preferred width of thisSkinBase
.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.protected void
layoutChildren(double x, double y, double w, double h)
Called during the layout pass of the scenegraph.abstract void
show()
This method will be called when the ComboBox popup should be displayed.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
-
Constructor Details
-
ComboBoxBaseSkin
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
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. -
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. -
layoutChildren
protected void layoutChildren(double x, double y, double w, double h)Called during the layout pass of the scenegraph.- Overrides:
layoutChildren
in classSkinBase<ComboBoxBase<T>>
- Parameters:
x
- the x positiony
- the y positionw
- the widthh
- the height
-
computePrefWidth
protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Calculates the preferred width of thisSkinBase
. The default implementation calculates this width as the width of the area occupied by its managed children when they are positioned at their current positions at their preferred widths.- Overrides:
computePrefWidth
in classSkinBase<ComboBoxBase<T>>
- Parameters:
height
- the height that should be used if preferred width depends on ittopInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left inset- Returns:
- the calculated preferred width
-
computePrefHeight
protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Calculates the preferred height of thisSkinBase
. The default implementation calculates this height as the height of the area occupied by its managed children when they are positioned at their current positions at their preferred heights.- Overrides:
computePrefHeight
in classSkinBase<ComboBoxBase<T>>
- Parameters:
width
- the width that should be used if preferred height depends on ittopInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left inset- Returns:
- the calculated preferred height
-
computeMaxWidth
protected double computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Computes the maximum allowable width of the Skin, based on the provided height.- Overrides:
computeMaxWidth
in classSkinBase<ComboBoxBase<T>>
- Parameters:
height
- The height of the Skin, in case this value might dictate the maximum width.topInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left inset- Returns:
- A double representing the maximum width of this Skin.
-
computeMaxHeight
protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Computes the maximum allowable height of the Skin, based on the provided width.- Overrides:
computeMaxHeight
in classSkinBase<ComboBoxBase<T>>
- Parameters:
width
- The width of the Skin, in case this value might dictate the maximum height.topInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left inset- Returns:
- A double representing the maximum height of this Skin.
-
computeBaselineOffset
protected double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)Calculates the baseline offset based on the first managed child. If there is no such child, returnsNode.getBaselineOffset()
.- Overrides:
computeBaselineOffset
in classSkinBase<ComboBoxBase<T>>
- Parameters:
topInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left inset- Returns:
- baseline offset
-