Module java.desktop

Class StrokeBorder

  • All Implemented Interfaces:
    Serializable, Border


    public class StrokeBorder
    extends AbstractBorder
    A class which implements a border of an arbitrary stroke.

    Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see XMLEncoder.

    Since:
    1.7
    See Also:
    Serialized Form
    • Constructor Detail

      • StrokeBorder

        public StrokeBorder​(BasicStroke stroke)
        Creates a border of the specified stroke. The component's foreground color will be used to render the border.
        Parameters:
        stroke - the BasicStroke object used to stroke a shape
        Throws:
        NullPointerException - if the specified stroke is null
      • StrokeBorder

        @ConstructorProperties({"stroke","paint"})
        public StrokeBorder​(BasicStroke stroke,
                            Paint paint)
        Creates a border of the specified stroke and paint. If the specified paint is null, the component's foreground color will be used to render the border.
        Parameters:
        stroke - the BasicStroke object used to stroke a shape
        paint - the Paint object used to generate a color
        Throws:
        NullPointerException - if the specified stroke is null
    • Method Detail

      • paintBorder

        public void paintBorder​(Component c,
                                Graphics g,
                                int x,
                                int y,
                                int width,
                                int height)
        Paints the border for the specified component with the specified position and size. If the border was not specified with a Paint object, the component's foreground color will be used to render the border. If the component's foreground color is not available, the default color of the Graphics object will be used.
        Specified by:
        paintBorder in interface Border
        Overrides:
        paintBorder in class AbstractBorder
        Parameters:
        c - the component for which this border is being painted
        g - the paint graphics
        x - the x position of the painted border
        y - the y position of the painted border
        width - the width of the painted border
        height - the height of the painted border
        Throws:
        NullPointerException - if the specified g is null
      • getBorderInsets

        public Insets getBorderInsets​(Component c,
                                      Insets insets)
        Reinitializes the insets parameter with this border's current insets. Every inset is the smallest (closest to negative infinity) integer value that is greater than or equal to the line width of the stroke that is used to paint the border.
        Overrides:
        getBorderInsets in class AbstractBorder
        Parameters:
        c - the component for which this border insets value applies
        insets - the Insets object to be reinitialized
        Returns:
        the reinitialized insets parameter
        Throws:
        NullPointerException - if the specified insets is null
        See Also:
        Math.ceil(double)
      • getPaint

        public Paint getPaint​()
        Returns the Paint object used to generate a color during the border rendering.
        Returns:
        the Paint object or null if the paint parameter is not set