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 double` | `AUTO` | When used by a BorderStroke, the value of AUTO is interpreted as the value of `BorderStroke.MEDIUM` for the corresponding side.
    `static BorderWidths` | `DEFAULT` | The default BorderWidths that is used by a BorderImage when null is specified.
    `static BorderWidths` | `EMPTY` | An empty set of widths, such that all values are 0 and are literal values.
    `static 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

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

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

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

- - ### Field Detail

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

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

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

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`