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

`getBaseline, getBaselineResizeBehavior, getBorderInsets, getInteriorRectangle, getInteriorRectangle`

### Methods declared in class Object

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

## Field Details

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

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

### 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
Throws:
  `NullPointerException` - if the specified `insets` is `null`

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