Class 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)
      Indicates whether some other object is "equal to" this one.
      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​()
      Returns a hash code value for the object.
      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).
    • 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)
        Indicates whether some other object is "equal to" this one.

        The equals method implements an equivalence relation on non-null object references:

        • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
        • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
        • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
        • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
        • For any non-null reference value x, x.equals(null) should return false.

        The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

        Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.

        Overrides:
        equals in class Object
        Parameters:
        o - the reference object with which to compare.
        Returns:
        true if this object is the same as the obj argument; false otherwise.
        See Also:
        Object.hashCode(), HashMap
      • hashCode

        public int hashCode​()
        Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

        The general contract of hashCode is:

        • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
        • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
        • It is not required that if two objects are unequal according to the Object.equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

        As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (The hashCode may or may not be implemented as some function of an object's memory address at some point in time.)

        Overrides:
        hashCode in class Object
        Returns:
        a hash code value for this object.
        See Also:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)