uk.co.keang.swingaddons
Class SelectableLineBorder

java.lang.Object
  extended by javax.swing.border.AbstractBorder
      extended by javax.swing.border.LineBorder
          extended by uk.co.keang.swingaddons.SelectableLineBorder
All Implemented Interfaces:
java.io.Serializable, javax.swing.border.Border

public class SelectableLineBorder
extends javax.swing.border.LineBorder

A Border that draws a single line along the specified edges of the component. If drawing lines along all 4 edges use the javax.swing.border.LineBorder class as it is more efficient. Combinations of line thicknesses can be obtained by using the java.swing.border.CompoundBorder class to combine multiple borders ie To draw thin line along the top edge and a thicker line along the bottom edge use:

 setBorder(new CompoundBorder(new SingleLineBorder(Side.TOP, Color.BLACK, 1),
           new SingleLineBorder(Side.BOTTOM, Color.BLACK, 2)));
 

Author:
A.G.Docherty
See Also:
Serialized Form

Nested Class Summary
static class SelectableLineBorder.Side
          The sides of the component
 
Field Summary
 
Fields inherited from class javax.swing.border.LineBorder
lineColor, roundedCorners, thickness
 
Constructor Summary
SelectableLineBorder(java.util.EnumSet<SelectableLineBorder.Side> side, java.awt.Color color, int thickness)
          Creates a line border on the specified sides of the component with the specified color and thickness.
SelectableLineBorder(SelectableLineBorder.Side side, java.awt.Color color)
          Creates a line border on one side of the component with the specified color and thickness of 1.
SelectableLineBorder(SelectableLineBorder.Side side, java.awt.Color color, int thickness)
          Creates a line border on one side of the component with the specified color and thickness.
 
Method Summary
 java.awt.Insets getBorderInsets(java.awt.Component c)
          Returns the insets of the border.
 java.awt.Insets getBorderInsets(java.awt.Component c, java.awt.Insets insets)
          Reinitialize the insets parameter with this Border's current Insets.
 void paintBorder(java.awt.Component c, java.awt.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.LineBorder
createBlackLineBorder, createGrayLineBorder, getLineColor, getRoundedCorners, getThickness, isBorderOpaque
 
Methods inherited from class javax.swing.border.AbstractBorder
getBaseline, getBaselineResizeBehavior, getInteriorRectangle, getInteriorRectangle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectableLineBorder

public SelectableLineBorder(SelectableLineBorder.Side side,
                            java.awt.Color color)
Creates a line border on one side of the component with the specified color and thickness of 1.

Parameters:
side - the side to draw one
color - the color of the border

SelectableLineBorder

public SelectableLineBorder(SelectableLineBorder.Side side,
                            java.awt.Color color,
                            int thickness)
Creates a line border on one side of the component with the specified color and thickness.

Parameters:
side - the side to draw one
color - the color of the border
thickness - the thickness of the border

SelectableLineBorder

public SelectableLineBorder(java.util.EnumSet<SelectableLineBorder.Side> side,
                            java.awt.Color color,
                            int thickness)
Creates a line border on the specified sides of the component with the specified color and thickness.

Parameters:
side - the sides to draw one
color - the color of the border
thickness - the thickness of the border
Method Detail

paintBorder

public void paintBorder(java.awt.Component c,
                        java.awt.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 javax.swing.border.Border
Overrides:
paintBorder in class javax.swing.border.LineBorder
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 java.awt.Insets getBorderInsets(java.awt.Component c)
Returns the insets of the border.

Specified by:
getBorderInsets in interface javax.swing.border.Border
Overrides:
getBorderInsets in class javax.swing.border.LineBorder
Parameters:
c - the component for which this border insets value applies

getBorderInsets

public java.awt.Insets getBorderInsets(java.awt.Component c,
                                       java.awt.Insets insets)
Reinitialize the insets parameter with this Border's current Insets.

Overrides:
getBorderInsets in class javax.swing.border.LineBorder
Parameters:
c - the component for which this border insets value applies
insets - the object to be reinitialized