Class BorderWidths

java.lang.Object
javafx.scene.layout.BorderWidths
All Implemented Interfaces:
Interpolatable<BorderWidths>

public final class BorderWidths extends Object implements Interpolatable<BorderWidths>
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
    When used by a BorderStroke, the value of AUTO is interpreted as the value of BorderStroke.MEDIUM for the corresponding side.
    static final BorderWidths
    The default BorderWidths that is used by a BorderImage when null is specified.
    static final BorderWidths
    An empty set of widths, such that all values are 0 and are literal values.
    static final BorderWidths
    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
    The non-negative value (with the exception of AUTO) indicating the border thickness on the bottom of the border.
    final double
    The non-negative value (with the exception of AUTO) indicating the border thickness on the left of the border.
    final double
    The non-negative value (with the exception of AUTO) indicating the border thickness on the right of the border.
    final double
    A non-negative value (with the exception of AUTO) indicating the border thickness on the top of the border.
    interpolate(BorderWidths endValue, double t)
    Returns an intermediate value between the value of this Interpolatable and the specified endValue using the linear interpolation factor t, ranging from 0 (inclusive) to 1 (inclusive).
    final boolean
    Specifies whether the bottom property should be interpreted as a percentage (true) of the region height or not (false).
    final boolean
    Specifies whether the left property should be interpreted as a percentage (true) of the region width or not (false).
    final boolean
    Specifies whether the right property should be interpreted as a percentage (true) of the region width or not (false).
    final boolean
    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:
    • 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.
      Interpolation Type:
      linear if both values are absolute or both values are percentages, and both values are not the special value AUTO; discrete otherwise
      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.
      Interpolation Type:
      linear if both values are absolute or both values are percentages, and both values are not the special value AUTO; discrete otherwise
      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.
      Interpolation Type:
      linear if both values are absolute or both values are percentages, and both values are not the special value AUTO; discrete otherwise
      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.
      Interpolation Type:
      linear if both values are absolute or both values are percentages, and both values are not the special value AUTO; discrete otherwise
      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).
      Interpolation Type:
      discrete
      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).
      Interpolation Type:
      discrete
      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).
      Interpolation Type:
      discrete
      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).
      Interpolation Type:
      discrete
      Returns:
      true if left should be interpreted as a percentage of the region width, otherwise false
    • interpolate

      public BorderWidths interpolate(BorderWidths endValue, double t)
      Returns an intermediate value between the value of this Interpolatable and the specified endValue using the linear interpolation factor t, ranging from 0 (inclusive) to 1 (inclusive).

      The returned value might not be a new instance; the implementation might also return one of the two existing instances if the intermediate value would be equal to one of the existing values. However, this is an optimization and applications should not assume any particular identity of the returned value.

      Specified by:
      interpolate in interface Interpolatable<BorderWidths>
      Parameters:
      endValue - the target value
      t - the interpolation factor
      Returns:
      the intermediate value
      Throws:
      NullPointerException - if endValue is null
      Since:
      24