Module javafx.graphics
Package javafx.scene.layout

# Class BorderStroke

java.lang.Object
javafx.scene.layout.BorderStroke

public class BorderStroke extends Object
Defines the stroke to use on a `Border` for styling a `Region`. The stroke is a vector-based rendering that outlines the border area. It can be inset (or outset) from the `Region`'s edge, and the values of the stroke are taken into account when computing the `Region`'s insets (for defining the content area). The stroke visuals are not used when any `BorderImage`s are in use.

When applied to a `Region` with a defined shape, the border width and stroking information for the `top` is used, while the other attributes are ignored.

Since:
  JavaFX 8.0

## Field Summary

Fields
Modifier and Type
Field
Description
`static final BorderWidths`
`DEFAULT_WIDTHS`
The default Insets to be used with a BorderStroke that does not otherwise define any.
`static final BorderWidths`
`MEDIUM`
The default insets when "medium" is specified
`static final BorderWidths`
`THICK`
The default insets when "thick" is specified
`static final BorderWidths`
`THIN`
The default insets when "thin" is specified.

## Constructor Summary

Constructors
Constructor
Description
`BorderStroke(Paint stroke, BorderStrokeStyle style, CornerRadii radii, BorderWidths widths)`
Creates a new `BorderStroke`.
`BorderStroke(Paint stroke, BorderStrokeStyle style, CornerRadii radii, BorderWidths widths, Insets insets)`
Creates a new `BorderStroke`.
`BorderStroke(Paint topStroke, Paint rightStroke, Paint bottomStroke, Paint leftStroke, BorderStrokeStyle topStyle, BorderStrokeStyle rightStyle, BorderStrokeStyle bottomStyle, BorderStrokeStyle leftStyle, CornerRadii radii, BorderWidths widths, Insets insets)`
Creates a new `BorderStroke`, specifying all construction parameters.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
`final Paint`
`getBottomStroke()`
Defines the fill of bottom side of this border.
`final BorderStrokeStyle`
`getBottomStyle()`
Defines the style of bottom side of this border.
`final Insets`
`getInsets()`
Defines the insets of each side of the `BorderStroke`.
`final Paint`
`getLeftStroke()`
Defines the fill of left side of this border.
`final BorderStrokeStyle`
`getLeftStyle()`
Defines the style of left side of this border.
`final CornerRadii`
`getRadii()`
Defines the radii for each corner of this `BorderStroke`.
`final Paint`
`getRightStroke()`
Defines the fill of right side of this border.
`final BorderStrokeStyle`
`getRightStyle()`
Defines the style of right side of this border.
`final Paint`
`getTopStroke()`
Defines the fill of top side of this border.
`final BorderStrokeStyle`
`getTopStyle()`
Defines the style of top side of this border.
`final BorderWidths`
`getWidths()`
Defines the thickness of each side of the `BorderStroke`.
`int`
`hashCode()`
`final boolean`
`isStrokeUniform()`
Checks if the stroke of this region is uniform.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### THIN

public static final BorderWidths THIN
The default insets when "thin" is specified.

### MEDIUM

public static final BorderWidths MEDIUM
The default insets when "medium" is specified

### THICK

public static final BorderWidths THICK
The default insets when "thick" is specified

### DEFAULT_WIDTHS

public static final BorderWidths DEFAULT_WIDTHS
The default Insets to be used with a BorderStroke that does not otherwise define any.

## Constructor Details

### BorderStroke

public BorderStroke(Paint stroke, BorderStrokeStyle style, CornerRadii radii, BorderWidths widths)
Creates a new `BorderStroke`.

Parameters:
  `stroke` - The stroke to use for all sides. If `null`, defaults to `Color.BLACK`.
  `style` - The style to use for all sides. If `null`, defaults to `BorderStrokeStyle.NONE`.
  `radii` - The radii to use. If `null`, defaults to `CornerRadii.EMPTY`.
  `widths` - The widths to use. If `null`, defaults to `DEFAULT_WIDTHS`.

### BorderStroke

public BorderStroke(Paint stroke, BorderStrokeStyle style, CornerRadii radii, BorderWidths widths, Insets insets)
Creates a new `BorderStroke`.

Parameters:
  `stroke` - The stroke to use for all sides. If `null`, defaults to `Color.BLACK`.
  `style` - The style to use for all sides. If `null`, defaults to `BorderStrokeStyle.NONE`.
  `radii` - The radii to use. If `null`, defaults to `CornerRadii.EMPTY`.
  `widths` - The widths to use. If `null`, defaults to `DEFAULT_WIDTHS`.
  `insets` - The insets indicating where to draw the border relative to the region edges. If `null`, defaults to `Insets.EMPTY`.

### BorderStroke

public BorderStroke(Paint topStroke, Paint rightStroke, Paint bottomStroke, Paint leftStroke, BorderStrokeStyle topStyle, BorderStrokeStyle rightStyle, BorderStrokeStyle bottomStyle, BorderStrokeStyle leftStyle, CornerRadii radii, BorderWidths widths, Insets insets)
Creates a new `BorderStroke`, specifying all construction parameters.

Parameters:
  `topStroke` - The fill to use on the top. If `null`, defaults to `Color.BLACK`.
  `rightStroke` - The fill to use on the right. If `null`, defaults to the same value as `topStroke`.
  `bottomStroke` - The fill to use on the bottom. If `null`, defaults to the same value as `topStroke`.
  `leftStroke` - The fill to use on the left. If `null`, defaults to the same value as `rightStroke`.
  `topStyle` - The style to use on the top. If `null`, defaults to `BorderStrokeStyle.NONE`.
  `rightStyle` - The style to use on the right. If `null`, defaults to the same value as `topStyle`.
  `bottomStyle` - The style to use on the bottom. If `null`, defaults to the same value as `topStyle`.
  `leftStyle` - The style to use on the left. If `null`, defaults to the same value as `rightStyle`.
  `radii` - The radii. If `null`, defaults to square corners by using `CornerRadii.EMPTY`.
  `widths` - The thickness of each side. If `null`, defaults to `DEFAULT_WIDTHS`.
  `insets` - The insets indicating where to draw the border relative to the region edges. If `null`, defaults to `Insets.EMPTY`.

## Method Details

### getTopStroke

public final Paint getTopStroke()
Defines the fill of top side of this border.

Default value:
  `Color.BLACK`
Returns:
  the fill of top side of this border

### getRightStroke

public final Paint getRightStroke()
Defines the fill of right side of this border. If `null`, then the `topFill` is used.

Default value:
  `null` (same as `topFill`)
Returns:
  the fill of right side of this border

### getBottomStroke

public final Paint getBottomStroke()
Defines the fill of bottom side of this border. If `null`, then the `topFill` is used.

Default value:
  `null` (same as `topFill`)
Returns:
  the fill of bottom side of this border

### getLeftStroke

public final Paint getLeftStroke()
Defines the fill of left side of this border. If `null`, then the `rightFill` is used.

Default value:
  `null` (same as `rightFill`)
Returns:
  the fill of left side of this border

### getTopStyle

public final BorderStrokeStyle getTopStyle()
Defines the style of top side of this border.

Default value:
  `BorderStrokeStyle.NONE`
Returns:
  the style of top side of this border

### getRightStyle

public final BorderStrokeStyle getRightStyle()
Defines the style of right side of this border. If `null`, then `topStyle` is used;

Default value:
  `null` (same as `topStyle`)
Returns:
  the style of right side of this border

### getBottomStyle

public final BorderStrokeStyle getBottomStyle()
Defines the style of bottom side of this border. If `null`, then `topStyle` is used; Use `BorderStyle.NONE` to set the border to have no border style.

Default value:
  `null` (same as `topStyle`)
Returns:
  the style of bottom side of this border

### getLeftStyle

public final BorderStrokeStyle getLeftStyle()
Defines the style of left side of this border. If `null`, then `rightStyle` is used. Use `BorderStyle.NONE` to set the border to have no border style.

Default value:
  `null` (same as `rightStyle`)
Returns:
  the style of left side of this border

### getWidths

public final BorderWidths getWidths()
Defines the thickness of each side of the `BorderStroke`. This will never be `null`, and defaults to `DEFAULT_WIDTHS`.

Returns:
  the thickness of each side of the `BorderStroke`

### getInsets

public final Insets getInsets()
Defines the insets of each side of the `BorderStroke`. This will never be `null`, and defaults to `Insets.EMPTY`.

Returns:
  the insets of each side of the `BorderStroke`

### getRadii

public final CornerRadii getRadii()
Defines the radii for each corner of this `BorderStroke`. This will never be `null`, and defaults to `CornerRadii.EMPTY`.

Returns:
  the radii for each corner of this `BorderStroke`

### isStrokeUniform

public final boolean isStrokeUniform()
Checks if the stroke of this region is uniform. A uniform stroke has all its side strokes (top, bottom, left, right) of same color, width and style.

Returns:
  `true` if border stroke is uniform

### equals

public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`