Class BorderStroke



  • public class BorderStroke
    extends Object
    Defines the stroke to use on a Border for styling a Region. The stroke is a vector-based rendering that outlines the border area. It can be inset (or outset) from the Region's edge, and the values of the stroke are taken into account when computing the Region's insets (for defining the content area). The stroke visuals are not used when any BorderImages are in use.

    When applied to a Region with a defined shape, the border width and stroking information for the top is used, while the other attributes are ignored.

    Since:
    JavaFX 8.0
    • Field Detail

      • THIN

        public static final BorderWidths THIN
        The default insets when "thin" is specified.
      • MEDIUM

        public static final BorderWidths MEDIUM
        The default insets when "medium" is specified
      • THICK

        public static final BorderWidths THICK
        The default insets when "thick" is specified
      • DEFAULT_WIDTHS

        public static final BorderWidths DEFAULT_WIDTHS
        The default Insets to be used with a BorderStroke that does not otherwise define any.
    • Constructor Detail

      • BorderStroke

        public BorderStroke​(Paint stroke,
                            BorderStrokeStyle style,
                            CornerRadii radii,
                            BorderWidths widths)
        Creates a new BorderStroke.
        Parameters:
        stroke - The stroke to use for all sides. If null, we default to Color.BLACK.
        style - The style to use for all sides. If null, we default to BorderStrokeStyle.NONE
        radii - The radii to use. If null, we default to CornerRadii.EMPTY
        widths - The widths to use. If null, we default to DEFAULT_WIDTHS
      • BorderStroke

        public BorderStroke​(Paint stroke,
                            BorderStrokeStyle style,
                            CornerRadii radii,
                            BorderWidths widths,
                            Insets insets)
        Creates a new BorderStroke.
        Parameters:
        stroke - The stroke to use for all sides. If null, we default to Color.BLACK.
        style - The style to use for all sides. If null, we default to BorderStrokeStyle.NONE
        radii - The radii to use. If null, we default to CornerRadii.EMPTY
        widths - The widths to use. If null, we default to DEFAULT_WIDTHS
        insets - The insets indicating where to draw the border relative to the region edges.
      • BorderStroke

        public BorderStroke​(Paint topStroke,
                            Paint rightStroke,
                            Paint bottomStroke,
                            Paint leftStroke,
                            BorderStrokeStyle topStyle,
                            BorderStrokeStyle rightStyle,
                            BorderStrokeStyle bottomStyle,
                            BorderStrokeStyle leftStyle,
                            CornerRadii radii,
                            BorderWidths widths,
                            Insets insets)
        Create a new BorderStroke, specifying all construction parameters.
        Parameters:
        topStroke - The fill to use on the top. If null, defaults to BLACK.
        rightStroke - The fill to use on the right. If null, defaults to the same value as topStroke
        bottomStroke - The fill to use on the bottom. If null, defaults to the same value as bottomStroke
        leftStroke - The fill to use on the left. If null, defaults to the same value as rightStroke
        topStyle - The style to use on the top. If null, defaults to BorderStrokeStyle.NONE
        rightStyle - The style to use on the right. If null, defaults to the same value as topStyle
        bottomStyle - The style to use on the bottom. If null, defaults to the same value as topStyle
        leftStyle - The style to use on the left. If null, defaults to the same value as rightStyle
        radii - The radii. If null, we default to square corners by using CornerRadii.EMPTY
        widths - The thickness of each side. If null, we default to DEFAULT_WIDTHS.
        insets - The insets indicating where to draw the border relative to the region edges.
    • Method Detail

      • getTopStroke

        public final Paint getTopStroke​()
        Defines the fill of top side of this border.
        Default value:
        black
        Returns:
        the fill of top side of this border
      • getRightStroke

        public final Paint getRightStroke​()
        Defines the fill of right side of this border. If null then the topFill is used.
        Default value:
        null = same as topFill
        Returns:
        the fill of right side of this border
      • getBottomStroke

        public final Paint getBottomStroke​()
        Defines the fill of bottom side of this border. If null then the topFill is used.
        Default value:
        null = same as topFill
        Returns:
        the fill of bottom side of this border
      • getLeftStroke

        public final Paint getLeftStroke​()
        Defines the fill of left side of this border. If null then the rightFill is used.
        Default value:
        null = same sa rightFill
        Returns:
        the fill of left side of this border
      • getTopStyle

        public final BorderStrokeStyle getTopStyle​()
        Defines the style of top side of this border.
        Default value:
        none
        Returns:
        the style of top side of this border
      • getRightStyle

        public final BorderStrokeStyle getRightStyle​()
        Defines the style of right side of this border. If null then topStyle is used;
        Default value:
        null = same as topStyle
        Returns:
        the style of right side of this border
      • getBottomStyle

        public final BorderStrokeStyle getBottomStyle​()
        Defines the style of bottom side of this border. If null then topStyle is used; Use BorderStyle.NONE to set the border to have no border style.
        Default value:
        null = same as topStyle
        Returns:
        the style of bottom side of this border
      • getLeftStyle

        public final BorderStrokeStyle getLeftStyle​()
        Defines the style of left side of this border. If null then rightStyle is used. Use BorderStyle.NONE to set the border to have no border style.
        Default value:
        null = same as rightStyle
        Returns:
        the style of left side of this border
      • getWidths

        public final BorderWidths getWidths​()
        Defines the thickness of each side of the BorderStroke. This will never be null, and defaults to DEFAULT_WIDTHS.
        Returns:
        the thickness of each side of the BorderStroke
      • getInsets

        public final Insets getInsets​()
        Defines the insets of each side of the BorderStroke. This will never be null, and defaults to EMPTY.
        Returns:
        the insets of each side of the BorderStroke
      • getRadii

        public final CornerRadii getRadii​()
        Defines the radii for each corner of this BorderStroke. This will never be null, and defaults to CornerRadii.EMPTY.
        Returns:
        the radii for each corner of this BorderStroke
      • isStrokeUniform

        public final boolean isStrokeUniform​()
        An uniform stroke has all (top, bottom, left, right) strokes of same color, width and style
        Returns:
        true if border stroke is uniform as defined above
      • 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)