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 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.
    • 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 class SkinBase<ComboBoxBase<T>>
      Parameters:
      x - the x position
      y - the y position
      w - the width
      h - the height
    • computePrefWidth

      protected double computePrefWidth​(double height, double topInset, double rightInset, double bottomInset, double leftInset)
      Calculates the preferred width of this SkinBase. 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 class SkinBase<ComboBoxBase<T>>
      Parameters:
      height - the height that should be used if preferred width depends on it
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - 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 this SkinBase. 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 class SkinBase<ComboBoxBase<T>>
      Parameters:
      width - the width that should be used if preferred height depends on it
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - 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 class SkinBase<ComboBoxBase<T>>
      Parameters:
      height - The height of the Skin, in case this value might dictate the maximum width.
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - 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 class SkinBase<ComboBoxBase<T>>
      Parameters:
      width - The width of the Skin, in case this value might dictate the maximum height.
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - 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, returns Node.getBaselineOffset().
      Overrides:
      computeBaselineOffset in class SkinBase<ComboBoxBase<T>>
      Parameters:
      topInset - the pixel snapped top inset
      rightInset - the pixel snapped right inset
      bottomInset - the pixel snapped bottom inset
      leftInset - the pixel snapped left inset
      Returns:
      baseline offset