Class CornerRadii



  • public class CornerRadii
    extends Object
    Defines the radii of each of the four corners of a BorderStroke. The CornerRadii class is immutable and therefore can be reused on multiple BorderStrokes. This class defines 8 different values, corresponding to the horizontal and vertical components of 4 quarter ellipses, which in turn define the curvature of the corners of the BorderStroke.
    Since:
    JavaFX 8.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static CornerRadii EMPTY
      A CornerRadii which is entirely empty, indicating squared corners.
    • Constructor Summary

      Constructors 
      Constructor Description
      CornerRadii​(double radius)
      Create a new CornerRadii with a single uniform radii value for all components of all corners.
      CornerRadii​(double radius, boolean asPercent)
      Create a new CornerRadii with the given radii for each corner.
      CornerRadii​(double topLeft, double topRight, double bottomRight, double bottomLeft, boolean asPercent)
      Create a new CornerRadii with uniform yet independent radii for each corner.
      CornerRadii​(double topLeftHorizontalRadius, double topLeftVerticalRadius, double topRightVerticalRadius, double topRightHorizontalRadius, double bottomRightHorizontalRadius, double bottomRightVerticalRadius, double bottomLeftVerticalRadius, double bottomLeftHorizontalRadius, boolean topLeftHorizontalRadiusAsPercent, boolean topLeftVerticalRadiusAsPercent, boolean topRightVerticalRadiusAsPercent, boolean topRightHorizontalRadiusAsPercent, boolean bottomRightHorizontalRadiusAsPercent, boolean bottomRightVerticalRadiusAsPercent, boolean bottomLeftVerticalRadiusAsPercent, boolean bottomLeftHorizontalRadiusAsPercent)
      Creates a new CornerRadii, allowing for specification of each component of each corner radii and whether each component should be treated as a value or percentage.
    • Field Detail

      • EMPTY

        public static final CornerRadii EMPTY
        A CornerRadii which is entirely empty, indicating squared corners. This is the default value for a BorderStroke's radii.
    • Constructor Detail

      • CornerRadii

        public CornerRadii​(double radius)
        Create a new CornerRadii with a single uniform radii value for all components of all corners. This constructor will create the CornerRadii such that none of the values are percentages.
        Parameters:
        radius - The radii for each corner. Negative values are not allowed.
      • CornerRadii

        public CornerRadii​(double radius,
                           boolean asPercent)
        Create a new CornerRadii with the given radii for each corner. The value is interpreted either as being a percentage or not based on the asPercent argument.
        Parameters:
        radius - The radii for each corner. Negative values are not allowed.
        asPercent - Whether the radii should be interpreted as a percentage.
      • CornerRadii

        public CornerRadii​(double topLeft,
                           double topRight,
                           double bottomRight,
                           double bottomLeft,
                           boolean asPercent)
        Create a new CornerRadii with uniform yet independent radii for each corner. That is, each corner can be specified independently, but the horizontal and vertical components of each corner is uniform.
        Parameters:
        topLeft - The radii of the top-left corner. Negative numbers are not allowed.
        topRight - The radii of the top-right corner. Negative numbers are not allowed.
        bottomRight - The radii of the bottom-right corner. Negative numbers are not allowed.
        bottomLeft - The radii of the bottom-left corner. Negative numbers are not allowed.
        asPercent - Whether all four radii should be considered as values or percentages
      • CornerRadii

        public CornerRadii​(double topLeftHorizontalRadius,
                           double topLeftVerticalRadius,
                           double topRightVerticalRadius,
                           double topRightHorizontalRadius,
                           double bottomRightHorizontalRadius,
                           double bottomRightVerticalRadius,
                           double bottomLeftVerticalRadius,
                           double bottomLeftHorizontalRadius,
                           boolean topLeftHorizontalRadiusAsPercent,
                           boolean topLeftVerticalRadiusAsPercent,
                           boolean topRightVerticalRadiusAsPercent,
                           boolean topRightHorizontalRadiusAsPercent,
                           boolean bottomRightHorizontalRadiusAsPercent,
                           boolean bottomRightVerticalRadiusAsPercent,
                           boolean bottomLeftVerticalRadiusAsPercent,
                           boolean bottomLeftHorizontalRadiusAsPercent)
        Creates a new CornerRadii, allowing for specification of each component of each corner radii and whether each component should be treated as a value or percentage.
        Parameters:
        topLeftHorizontalRadius - The length of the horizontal radii of the top-left corner
        topLeftVerticalRadius - The length of the vertical radii of the top-left corner
        topRightVerticalRadius - The length of the vertical radii of the top-right corner
        topRightHorizontalRadius - The length of the horizontal radii of the top-right corner
        bottomRightHorizontalRadius - The length of the horizontal radii of the bottom-right corner
        bottomRightVerticalRadius - The length of the vertical radii of the bottom-right corner
        bottomLeftVerticalRadius - The length of the vertical radii of the bottom-left corner
        bottomLeftHorizontalRadius - The length of the horizontal radii of the bottom-left corner
        topLeftHorizontalRadiusAsPercent - Is the horizontal radii of the top-left corner as percentage
        topLeftVerticalRadiusAsPercent - Is the vertical radii of the top-left corner as percentage
        topRightVerticalRadiusAsPercent - Is the vertical radii of the top-right corner as percentage
        topRightHorizontalRadiusAsPercent - Is the horizontal radii of the top-right corner as percentage
        bottomRightHorizontalRadiusAsPercent - Is the horizontal radii of the bottom-right corner as percentage
        bottomRightVerticalRadiusAsPercent - Is the vertical radii of the bottom-right corner as percentage
        bottomLeftVerticalRadiusAsPercent - Is the vertical radii of the bottom-left corner as percentage
        bottomLeftHorizontalRadiusAsPercent - Is the horizontal radii of the bottom-left corner as percentage
    • Method Detail

      • getTopLeftHorizontalRadius

        public final double getTopLeftHorizontalRadius​()
        The length of the horizontal radii of the top-left corner.
        Returns:
        the length of the horizontal radii of the top-left corner
      • getTopLeftVerticalRadius

        public final double getTopLeftVerticalRadius​()
        The length of the vertical radii of the top-left corner.
        Returns:
        the length of the vertical radii of the top-left corner
      • getTopRightVerticalRadius

        public final double getTopRightVerticalRadius​()
        The length of the vertical radii of the top-right corner.
        Returns:
        the length of the vertical radii of the top-right corner
      • getTopRightHorizontalRadius

        public final double getTopRightHorizontalRadius​()
        The length of the horizontal radii of the top-right corner.
        Returns:
        the length of the horizontal radii of the top-right corner
      • getBottomRightHorizontalRadius

        public final double getBottomRightHorizontalRadius​()
        The length of the horizontal radii of the bottom-right corner.
        Returns:
        the length of the horizontal radii of the bottom-right corner
      • getBottomRightVerticalRadius

        public final double getBottomRightVerticalRadius​()
        The length of the vertical radii of the bottom-right corner.
        Returns:
        the length of the vertical radii of the bottom-right corner
      • getBottomLeftVerticalRadius

        public final double getBottomLeftVerticalRadius​()
        The length of the vertical radii of the bottom-left corner.
        Returns:
        the length of the vertical radii of the bottom-left corner
      • getBottomLeftHorizontalRadius

        public final double getBottomLeftHorizontalRadius​()
        The length of the horizontal radii of the bottom-left corner.
        Returns:
        the length of the horizontal radii of the bottom-left corner
      • isTopLeftHorizontalRadiusAsPercentage

        public final boolean isTopLeftHorizontalRadiusAsPercentage​()
        indicates whether topLeftHorizontalRadius is interpreted as a value or a percentage.
        Returns:
        if true topLeftHorizontalRadius is in percentage, otherwise a value
      • isTopLeftVerticalRadiusAsPercentage

        public final boolean isTopLeftVerticalRadiusAsPercentage​()
        indicates whether topLeftVerticalRadius is interpreted as a value or a percentage.
        Returns:
        if true topLeftVerticalRadius is in percentage, otherwise a value
      • isTopRightVerticalRadiusAsPercentage

        public final boolean isTopRightVerticalRadiusAsPercentage​()
        indicates whether topRightVerticalRadius is interpreted as a value or a percentage.
        Returns:
        if true topRightVerticalRadius is in percentage, otherwise a value
      • isTopRightHorizontalRadiusAsPercentage

        public final boolean isTopRightHorizontalRadiusAsPercentage​()
        indicates whether topRightHorizontalRadius is interpreted as a value or a percentage.
        Returns:
        if true topRightHorizontalRadius is in percentage, otherwise a value
      • isBottomRightHorizontalRadiusAsPercentage

        public final boolean isBottomRightHorizontalRadiusAsPercentage​()
        indicates whether bottomRightHorizontalRadius is interpreted as a value or a percentage.
        Returns:
        if true bottomRightHorizontalRadius is in percentage, otherwise a value
      • isBottomRightVerticalRadiusAsPercentage

        public final boolean isBottomRightVerticalRadiusAsPercentage​()
        indicates whether bottomRightVerticalRadius is interpreted as a value or a percentage.
        Returns:
        if true bottomRightVerticalRadius is in percentage, otherwise a value
      • isBottomLeftVerticalRadiusAsPercentage

        public final boolean isBottomLeftVerticalRadiusAsPercentage​()
        indicates whether bottomLeftVerticalRadius is interpreted as a value or a percentage.
        Returns:
        if true bottomLeftVerticalRadius is in percentage, otherwise a value
      • isBottomLeftHorizontalRadiusAsPercentage

        public final boolean isBottomLeftHorizontalRadiusAsPercentage​()
        indicates whether bottomLeftHorizontalRadius is interpreted as a value or a percentage.
        Returns:
        if true bottomLeftHorizontalRadius is in percentage, otherwise a value
      • isUniform

        public final boolean isUniform​()
        Indicates whether each corner radius is exactly the same, and each are either uniformly percentage-based or not.
        Returns:
        if true each corner radius is uniformly percentage-based, otherwise not
      • 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)
      • toString

        public String toString​()
        Description copied from class: Object
        Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

        The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

         getClass().getName() + '@' + Integer.toHexString(hashCode())
         
        Overrides:
        toString in class Object
        Returns:
        a string representation of the object.