Module java.desktop
Package javax.swing.border

## Class LineBorder

- java.lang.Object
- - javax.swing.border.AbstractBorder
  - - javax.swing.border.LineBorder

- All Implemented Interfaces:
    `Serializable`, `Border`
  Direct Known Subclasses:
    `BorderUIResource.LineBorderUIResource`

      public class LineBorder
      extends AbstractBorder

  A class which implements a line border of arbitrary thickness and of a single color.

  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`.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Color` | `lineColor` | Color of the border.
    `protected boolean` | `roundedCorners` | Whether or not the border has rounded corners.
    `protected int` | `thickness` | Thickness of the border.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LineBorder​(Color color)` | Creates a line border with the specified color and a thickness = 1.
    `LineBorder​(Color color, int thickness)` | Creates a line border with the specified color and thickness.
    `LineBorder​(Color color, int thickness, boolean roundedCorners)` | Creates a line border with the specified color, thickness, and corner shape.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static Border` | `createBlackLineBorder()` | Convenience method for getting the Color.black LineBorder of thickness 1.
    `static Border` | `createGrayLineBorder()` | Convenience method for getting the Color.gray LineBorder of thickness 1.
    `Insets` | `getBorderInsets​(Component c, Insets insets)` | Reinitialize the insets parameter with this Border's current Insets.
    `Color` | `getLineColor()` | Returns the color of the border.
    `boolean` | `getRoundedCorners()` | Returns whether this border will be drawn with rounded corners.
    `int` | `getThickness()` | Returns the thickness of the border.
    `boolean` | `isBorderOpaque()` | Returns whether or not the border is opaque.
    `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.

    - ### Methods declared in class javax.swing.border.AbstractBorder

      `getBaseline, getBaselineResizeBehavior, getBorderInsets, getInteriorRectangle, getInteriorRectangle`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### thickness

          protected int thickness

      Thickness of the border.

    - #### lineColor

          protected Color lineColor

      Color of the border.

    - #### roundedCorners

          protected boolean roundedCorners

      Whether or not the border has rounded corners.

  - ### Constructor Detail

    - #### LineBorder

          public LineBorder​(Color color)

      Creates a line border with the specified color and a thickness = 1.
      Parameters:
        `color` - the color for the border

    - #### LineBorder

          public LineBorder​(Color color,
                            int thickness)

      Creates a line border with the specified color and thickness.
      Parameters:
        `color` - the color of the border
        `thickness` - the thickness of the border

    - #### LineBorder

          @ConstructorProperties({"lineColor","thickness","roundedCorners"})
          public LineBorder​(Color color,
                            int thickness,
                            boolean roundedCorners)

      Creates a line border with the specified color, thickness, and corner shape.
      Parameters:
        `color` - the color of the border
        `thickness` - the thickness of the border
        `roundedCorners` - whether or not border corners should be round
      Since:
        1.3

  - ### Method Detail

    - #### createBlackLineBorder

          public static Border createBlackLineBorder()

      Convenience method for getting the Color.black LineBorder of thickness 1.
      Returns:
        a `LineBorder` with `Color.black` and thickness of 1

    - #### createGrayLineBorder

          public static Border createGrayLineBorder()

      Convenience method for getting the Color.gray LineBorder of thickness 1.
      Returns:
        a `LineBorder` with `Color.gray` and thickness of 1

    - #### 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.
      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

    - #### getBorderInsets

          public Insets getBorderInsets​(Component c,
                                        Insets insets)

      Reinitialize the insets parameter with this Border's current Insets.
      Overrides:
        `getBorderInsets` in class `AbstractBorder`
      Parameters:
        `c` - the component for which this border insets value applies
        `insets` - the object to be reinitialized
      Returns:
        the `insets` object

    - #### getLineColor

          public Color getLineColor()

      Returns the color of the border.
      Returns:
        a `Color` object representing the color of this object

    - #### getThickness

          public int getThickness()

      Returns the thickness of the border.
      Returns:
        the thickness of this border

    - #### getRoundedCorners

          public boolean getRoundedCorners()

      Returns whether this border will be drawn with rounded corners.
      Returns:
        `true` if this border should have rounded corners
      Since:
        1.3

    - #### isBorderOpaque

          public boolean isBorderOpaque()

      Returns whether or not the border is opaque.
      Specified by:
        `isBorderOpaque` in interface `Border`
      Overrides:
        `isBorderOpaque` in class `AbstractBorder`
      Returns:
        `true` if the border is opaque, `false` otherwise