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

## Class SeparatorSkin

- java.lang.Object
- - javafx.scene.control.SkinBase<Separator>
  - - javafx.scene.control.skin.SeparatorSkin

- All Implemented Interfaces:
    `Skin<Separator>`

      public class SeparatorSkin
      extends SkinBase<Separator>

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

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SeparatorSkin​(Separator control)` | Creates a new SeparatorSkin instance, installing the necessary child nodes into the Control `children` list.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `protected double` | `computeMaxHeight​(double w, 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 h, double topInset, double rightInset, double bottomInset, double leftInset)` | Computes the maximum allowable width of the Skin, based on the provided height.
    `protected double` | `computeMinHeight​(double width, double topInset, double rightInset, double bottomInset, double leftInset)` | Computes the minimum allowable height of the Skin, based on the provided width.
    `protected double` | `computeMinWidth​(double height, double topInset, double rightInset, double bottomInset, double leftInset)` | Computes the minimum allowable width of the Skin, based on the provided height.
    `protected double` | `computePrefHeight​(double w, double topInset, double rightInset, double bottomInset, double leftInset)` | Calculates the preferred height of this `SkinBase`.
    `protected double` | `computePrefWidth​(double h, double topInset, double rightInset, double bottomInset, double leftInset)` | Calculates the preferred width of this `SkinBase`.
    `protected void` | `layoutChildren​(double x, double y, double w, double h)` | We only need to deal with the single "line" child region.

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

      `computeBaselineOffset, 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 Detail

    - #### SeparatorSkin

          public SeparatorSkin​(Separator control)

      Creates a new SeparatorSkin instance, installing the necessary child nodes into the Control `children` list.
      Parameters:
        `control` - The control that this skin should be installed onto.

  - ### Method Detail

    - #### layoutChildren

          protected void layoutChildren​(double x,
                                        double y,
                                        double w,
                                        double h)

      We only need to deal with the single "line" child region. The important thing here is that we want a horizontal separator to have a line which is as wide as the separator (less the left/right padding), but as thin as it can be (based on its own pref height). The same idea for a vertical separator. It should be as tall as the separator (less the top and bottom padding) but as thin as can be (the pref width of the line).

      Then position the line within the separator such that the alignment properties are honored.

      Overrides:
        `layoutChildren` in class `SkinBase<Separator>`
      Parameters:
        `x` - the x position
        `y` - the y position
        `w` - the width
        `h` - the height

    - #### computeMinWidth

          protected double computeMinWidth​(double height,
                                           double topInset,
                                           double rightInset,
                                           double bottomInset,
                                           double leftInset)

      Computes the minimum allowable width of the Skin, based on the provided height.
      Overrides:
        `computeMinWidth` in class `SkinBase<Separator>`
      Parameters:
        `height` - The height of the Skin, in case this value might dictate the minimum 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 minimum width of this Skin.

    - #### computeMinHeight

          protected double computeMinHeight​(double width,
                                            double topInset,
                                            double rightInset,
                                            double bottomInset,
                                            double leftInset)

      Computes the minimum allowable height of the Skin, based on the provided width.
      Overrides:
        `computeMinHeight` in class `SkinBase<Separator>`
      Parameters:
        `width` - The width of the Skin, in case this value might dictate the minimum 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 minimum height of this Skin.

    - #### computePrefWidth

          protected double computePrefWidth​(double h,
                                            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<Separator>`
      Parameters:
        `h` - 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 w,
                                             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<Separator>`
      Parameters:
        `w` - 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 h,
                                           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<Separator>`
      Parameters:
        `h` - 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 w,
                                            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<Separator>`
      Parameters:
        `w` - 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.