BorderWidths (JavaFX 19)
Description: declaration: module: javafx.graphics, package: javafx.scene.layout, class: BorderWidths

Module javafx.graphics
Package javafx.scene.layout

# Class BorderWidths

java.lang.Object
javafx.scene.layout.BorderWidths

public final class BorderWidths extends Object
Defines widths for four components (top, right, bottom, and left). Each width is defined as a non-negative value. This value might be interpreted either as an literal value, or as a percentage of the width or height of the Region, depending on the values for `topAsPercentage`, `rightAsPercentage`, `bottomAsPercentage`, `leftAsPercentage`. The only allowable negative value for top, right, bottom, and left is `AUTO`.

Because the BorderWidths is immutable, it can safely be used in any cache, and can safely be reused among multiple Regions.

Since:
  JavaFX 8.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final double`
  `AUTO`
  When used by a BorderStroke, the value of AUTO is interpreted as the value of `BorderStroke.MEDIUM` for the corresponding side.
  `static final BorderWidths`
  `DEFAULT`
  The default BorderWidths that is used by a BorderImage when null is specified.
  `static final BorderWidths`
  `EMPTY`
  An empty set of widths, such that all values are 0 and are literal values.
  `static final BorderWidths`
  `FULL`
  A set of widths representing 100% on each side.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BorderWidths(double width)`
  Creates a new BorderWidths using the given width for all four borders, and treating this width as a literal value, and not a percentage.
  `BorderWidths(double top, double right, double bottom, double left)`
  Creates a new BorderWidths with the specified widths for top, right, bottom, and left.
  `BorderWidths(double top, double right, double bottom, double left, boolean topAsPercentage, boolean rightAsPercentage, boolean bottomAsPercentage, boolean leftAsPercentage)`
  Creates a new BorderWidths.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final double`
  `getBottom()`
  The non-negative value (with the exception of `AUTO`) indicating the border thickness on the bottom of the border.
  `final double`
  `getLeft()`
  The non-negative value (with the exception of `AUTO`) indicating the border thickness on the left of the border.
  `final double`
  `getRight()`
  The non-negative value (with the exception of `AUTO`) indicating the border thickness on the right of the border.
  `final double`
  `getTop()`
  A non-negative value (with the exception of `AUTO`) indicating the border thickness on the top of the border.
  `final boolean`
  `isBottomAsPercentage()`
  Specifies whether the `bottom` property should be interpreted as a percentage (`true`) of the region height or not (`false`).
  `final boolean`
  `isLeftAsPercentage()`
  Specifies whether the `left` property should be interpreted as a percentage (`true`) of the region width or not (`false`).
  `final boolean`
  `isRightAsPercentage()`
  Specifies whether the `right` property should be interpreted as a percentage (`true`) of the region width or not (`false`).
  `final boolean`
  `isTopAsPercentage()`
  Specifies whether the `top` property should be interpreted as a percentage (`true`) of the region height or not (`false`).

  ### Methods declared in class java.lang.Object

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

- ## Field Details

  - ### AUTO

    public static final double AUTO
    When used by a BorderStroke, the value of AUTO is interpreted as the value of `BorderStroke.MEDIUM` for the corresponding side. When used with a BorderImage, the value of AUTO means to read the corresponding value from the BorderStroke(s), and not to specify it manually.
    See Also:
      - Constant Field Values

  - ### DEFAULT

    public static final BorderWidths DEFAULT
    The default BorderWidths that is used by a BorderImage when null is specified. This width is a single 1 pixel top, right, bottom, and left, all interpreted as literal values.

  - ### EMPTY

    public static final BorderWidths EMPTY
    An empty set of widths, such that all values are 0 and are literal values.

  - ### FULL

    public static final BorderWidths FULL
    A set of widths representing 100% on each side.

- ## Constructor Details

  - ### BorderWidths

    public BorderWidths(double width)
    Creates a new BorderWidths using the given width for all four borders, and treating this width as a literal value, and not a percentage.
    Parameters:
      `width` - The border width. This cannot be negative.

  - ### BorderWidths

    public BorderWidths(double top, double right, double bottom, double left)
    Creates a new BorderWidths with the specified widths for top, right, bottom, and left. None of these values may be negative. Each of these values is interpreted as a literal value, not as a percentage.
    Parameters:
      `top` - The thickness of the border on the top. Must be non-negative.
      `right` - The thickness of the border on the right. Must be non-negative.
      `bottom` - The thickness of the border on the bottom. Must be non-negative.
      `left` - The thickness of the border on the left. Must be non-negative.

  - ### BorderWidths

    public BorderWidths(double top, double right, double bottom, double left, boolean topAsPercentage, boolean rightAsPercentage, boolean bottomAsPercentage, boolean leftAsPercentage)
    Creates a new BorderWidths. None of the values for `top`, `right`, `bottom`, or `left` can be non-negative.
    Parameters:
      `top` - The thickness of the border on the top. Must be non-negative.
      `right` - The thickness of the border on the right. Must be non-negative.
      `bottom` - The thickness of the border on the bottom. Must be non-negative.
      `left` - The thickness of the border on the left. Must be non-negative.
      `topAsPercentage` - Whether the top should be treated as a percentage.
      `rightAsPercentage` - Whether the right should be treated as a percentage.
      `bottomAsPercentage` - Whether the bottom should be treated as a percentage.
      `leftAsPercentage` - Whether the left should be treated as a percentage.

- ## Method Details

  - ### getTop

    public final double getTop()
    A non-negative value (with the exception of `AUTO`) indicating the border thickness on the top of the border. This value can be a literal value, or can be treated as a percentage, based on the value of the `topAsPercentage` property.
    Returns:
      the border thickness on the top of the border

  - ### getRight

    public final double getRight()
    The non-negative value (with the exception of `AUTO`) indicating the border thickness on the right of the border. This value can be a literal value, or can be treated as a percentage, based on the value of the `rightAsPercentage` property.
    Returns:
      the border thickness on the right of the border

  - ### getBottom

    public final double getBottom()
    The non-negative value (with the exception of `AUTO`) indicating the border thickness on the bottom of the border. This value can be a literal value, or can be treated as a percentage, based on the value of the `bottomAsPercentage` property.
    Returns:
      the border thickness on the bottom of the border

  - ### getLeft

    public final double getLeft()
    The non-negative value (with the exception of `AUTO`) indicating the border thickness on the left of the border. This value can be an literal value, or can be treated as a percentage, based on the value of the `leftAsPercentage` property.
    Returns:
      the border thickness on the left of the border

  - ### isTopAsPercentage

    public final boolean isTopAsPercentage()
    Specifies whether the `top` property should be interpreted as a percentage (`true`) of the region height or not (`false`).
    Returns:
      true if top should be interpreted as a percentage of the region height, otherwise false

  - ### isRightAsPercentage

    public final boolean isRightAsPercentage()
    Specifies whether the `right` property should be interpreted as a percentage (`true`) of the region width or not (`false`).
    Returns:
      true if right should be interpreted as a percentage of the region width, otherwise false

  - ### isBottomAsPercentage

    public final boolean isBottomAsPercentage()
    Specifies whether the `bottom` property should be interpreted as a percentage (`true`) of the region height or not (`false`).
    Returns:
      true if bottom should be interpreted as a percentage of the region height, otherwise false

  - ### isLeftAsPercentage

    public final boolean isLeftAsPercentage()
    Specifies whether the `left` property should be interpreted as a percentage (`true`) of the region width or not (`false`).
    Returns:
      true if left should be interpreted as a percentage of the region width, otherwise false