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

## Class TabPaneSkin

- java.lang.Object
- - javafx.scene.control.SkinBase<TabPane>
  - - javafx.scene.control.skin.TabPaneSkin

- All Implemented Interfaces:
    `Skin<TabPane>`

      public class TabPaneSkin
      extends SkinBase<TabPane>

  Default skin implementation for the `TabPane` control.
  Since:
    9
  See Also:
    `TabPane`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TabPaneSkin​(TabPane control)` | Creates a new TabPaneSkin instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `double` | `computeBaselineOffset​(double topInset, double rightInset, double bottomInset, double leftInset)` | Calculates the baseline offset based on the first managed child.
    `protected double` | `computePrefHeight​(double width, double topInset, double rightInset, double bottomInset, double leftInset)` | Calculates the preferred height of this `SkinBase`.
    `protected double` | `computePrefWidth​(double height, double topInset, double rightInset, double bottomInset, double leftInset)` | Calculates the preferred width of this `SkinBase`.
    `void` | `dispose()` | Called by a Skinnable when the Skin is replaced on the Skinnable.
    `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` | Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
    `List<CssMetaData<? extends Styleable,​?>>` | `getCssMetaData()` | This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
    `protected void` | `layoutChildren​(double x, double y, double w, double h)` | Called during the layout pass of the scenegraph.
    `Object` | `queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)` | This method is called by the assistive technology to request the value for an attribute.

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

      `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, consumeMouseEvents, executeAccessibleAction, getChildren, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, 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 Detail

    - #### TabPaneSkin

          public TabPaneSkin​(TabPane control)

      Creates a new TabPaneSkin instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.
      Parameters:
        `control` - The control that this skin should be installed onto.

  - ### Method Detail

    - #### dispose

          public void dispose()

      Called by a Skinnable when the Skin is replaced on the Skinnable. This method allows a Skin to implement any logic necessary to clean up itself after the Skin is no longer needed. It may be used to release native resources. The methods `Skin.getSkinnable()` and `Skin.getNode()` should return null following a call to dispose. Calling dispose twice has no effect.
      Specified by:
        `dispose` in interface `Skin<TabPane>`
      Overrides:
        `dispose` in class `SkinBase<TabPane>`

    - #### 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<TabPane>`
      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<TabPane>`
      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

    - #### computeBaselineOffset

          public 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<TabPane>`
      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

    - #### 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<TabPane>`
      Parameters:
        `x` - the x position
        `y` - the y position
        `w` - the width
        `h` - the height

    - #### getClassCssMetaData

          public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()

      Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Returns:
        the CssMetaData associated with this class, which may include the CssMetaData of its superclasses

    - #### getCssMetaData

          public List<CssMetaData<? extends Styleable,​?>> getCssMetaData()

      This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
      Overrides:
        `getCssMetaData` in class `SkinBase<TabPane>`
      Returns:
        The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.

    - #### queryAccessibleAttribute

          public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                                 Object... parameters)

      Description copied from class: `SkinBase`
      This method is called by the assistive technology to request the value for an attribute.

      This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
      If a particular attribute is not handled, the superclass implementation must be called.

      Overrides:
        `queryAccessibleAttribute` in class `SkinBase<TabPane>`
      Parameters:
        `attribute` - the requested attribute
        `parameters` - optional list of parameters
      Returns:
        the value for the requested attribute
      See Also:
        `AccessibleAttribute`, `Node.queryAccessibleAttribute(javafx.scene.AccessibleAttribute, java.lang.Object...)`