Module java.desktop

Class StrokeBorder

java.lang.Object
javax.swing.border.AbstractBorder
javax.swing.border.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
  • Constructor Details

    • 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 Details

    • 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)
    • getStroke

      public BasicStroke getStroke()
      Returns the BasicStroke object used to stroke a shape during the border rendering.
      Returns:
      the BasicStroke object
    • 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