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 Details

### 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 Details

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