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` |
    `protected boolean` | `roundedCorners` |
    `protected int` | `thickness` |

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

    All Methods Static Methods Instance Methods Concrete Methods
    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 inherited from class javax.swing.border.AbstractBorder

      `getBaseline, getBaselineResizeBehavior, getBorderInsets, getInteriorRectangle, getInteriorRectangle`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### thickness

          protected int thickness

    - #### lineColor

          protected Color lineColor

    - #### roundedCorners

          protected boolean roundedCorners

  - ### 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(value={"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.

    - #### createGrayLineBorder

          public static Border createGrayLineBorder()

      Convenience method for getting the Color.gray LineBorder of thickness 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.

    - #### getThickness

          public int getThickness()

      Returns the thickness of the border.

    - #### getRoundedCorners

          public boolean getRoundedCorners()

      Returns whether this border will be drawn with 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:
        false

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.