javax.swing
Class BorderFactory

java.lang.Object
  extended byjavax.swing.BorderFactory

public class BorderFactory
extends Object

Factory class for vending standard Border objects. Wherever possible, this factory will hand out references to shared Border instances. For further information and examples see How to Use Borders, a section in The Java Tutorial.

Author:
David Kloba

Field Summary
(package private) static Border emptyBorder
           
(package private) static Border sharedEtchedBorder
           
(package private) static Border sharedLoweredBevel
           
(package private) static Border sharedRaisedBevel
           
private static Border sharedRaisedEtchedBorder
           
 
Constructor Summary
private BorderFactory()
          Don't let anyone instantiate this class
 
Method Summary
static Border createBevelBorder(int type)
          Creates a beveled border of the specified type, using brighter shades of the component's current background color for highlighting, and darker shading for shadows.
static Border createBevelBorder(int type, Color highlight, Color shadow)
          Creates a beveled border of the specified type, using the specified highlighting and shadowing.
static Border createBevelBorder(int type, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner)
          Creates a beveled border of the specified type, using the specified colors for the inner and outer highlight and shadow areas.
static CompoundBorder createCompoundBorder()
          Creates a compound border with a null inside edge and a null outside edge.
static CompoundBorder createCompoundBorder(Border outsideBorder, Border insideBorder)
          Creates a compound border specifying the border objects to use for the outside and inside edges.
static Border createEmptyBorder()
          Creates an empty border that takes up no space.
static Border createEmptyBorder(int top, int left, int bottom, int right)
          Creates an empty border that takes up space but which does no drawing, specifying the width of the top, left, bottom, and right sides.
static Border createEtchedBorder()
          Creates a border with an "etched" look using the component's current background color for highlighting and shading.
static Border createEtchedBorder(Color highlight, Color shadow)
          Creates a border with an "etched" look using the specified highlighting and shading colors.
static Border createEtchedBorder(int type)
          Creates a border with an "etched" look using the component's current background color for highlighting and shading.
static Border createEtchedBorder(int type, Color highlight, Color shadow)
          Creates a border with an "etched" look using the specified highlighting and shading colors.
static Border createLineBorder(Color color)
          Creates a line border withe the specified color.
static Border createLineBorder(Color color, int thickness)
          Creates a line border with the specified color and width.
static Border createLoweredBevelBorder()
          Creates a border with a lowered beveled edge, using brighter shades of the component's current background color for highlighting, and darker shading for shadows.
static MatteBorder createMatteBorder(int top, int left, int bottom, int right, Color color)
          Creates a matte-look border using a solid color.
static MatteBorder createMatteBorder(int top, int left, int bottom, int right, Icon tileIcon)
          Creates a matte-look border that consists of multiple tiles of a specified icon.
static Border createRaisedBevelBorder()
          Creates a border with a raised beveled edge, using brighter shades of the component's current background color for highlighting, and darker shading for shadows.
(package private) static Border createSharedBevel(int type)
           
static TitledBorder createTitledBorder(Border border)
          Creates a new title border with an empty title specifying the border object, using the default text position (sitting on the top line) and default justification (leading) and using the default font, and text color.
static TitledBorder createTitledBorder(Border border, String title)
          Adds a title to an existing border, specifying the text of the title, using the default positioning (sitting on the top line) and default justification (leading) and using the default font and text color determined by the current look and feel.
static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition)
          Adds a title to an existing border, specifying the text of the title along with its positioning, using the default font and text color determined by the current look and feel.
static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont)
          Adds a title to an existing border, specifying the text of the title along with its positioning and font, using the default text color determined by the current look and feel.
static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont, Color titleColor)
          Adds a title to an existing border, specifying the text of the title along with its positioning, font, and color.
static TitledBorder createTitledBorder(String title)
          Creates a new title border specifying the text of the title, using the default border (etched), using the default text position (sitting on the top line) and default justification (leading) and using the default font and text color determined by the current look and feel.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sharedRaisedBevel

static final Border sharedRaisedBevel

sharedLoweredBevel

static final Border sharedLoweredBevel

sharedEtchedBorder

static final Border sharedEtchedBorder

sharedRaisedEtchedBorder

private static Border sharedRaisedEtchedBorder

emptyBorder

static final Border emptyBorder
Constructor Detail

BorderFactory

private BorderFactory()
Don't let anyone instantiate this class

Method Detail

createLineBorder

public static Border createLineBorder(Color color)
Creates a line border withe the specified color.

Parameters:
color - a Color to use for the line
Returns:
the Border object

createLineBorder

public static Border createLineBorder(Color color,
                                      int thickness)
Creates a line border with the specified color and width. The width applies to all four sides of the border. To specify widths individually for the top, bottom, left, and right, use createMatteBorder(int,int,int,int,Color).

Parameters:
color - a Color to use for the line
thickness - an integer specifying the width in pixels
Returns:
the Border object

createRaisedBevelBorder

public static Border createRaisedBevelBorder()
Creates a border with a raised beveled edge, using brighter shades of the component's current background color for highlighting, and darker shading for shadows. (In a raised border, highlights are on top and shadows are underneath.)

Returns:
the Border object

createLoweredBevelBorder

public static Border createLoweredBevelBorder()
Creates a border with a lowered beveled edge, using brighter shades of the component's current background color for highlighting, and darker shading for shadows. (In a lowered border, shadows are on top and highlights are underneath.)

Returns:
the Border object

createBevelBorder

public static Border createBevelBorder(int type)
Creates a beveled border of the specified type, using brighter shades of the component's current background color for highlighting, and darker shading for shadows. (In a lowered border, shadows are on top and highlights are underneath.)

Parameters:
type - an integer specifying either BevelBorder.LOWERED or BevelBorder.RAISED
Returns:
the Border object

createBevelBorder

public static Border createBevelBorder(int type,
                                       Color highlight,
                                       Color shadow)
Creates a beveled border of the specified type, using the specified highlighting and shadowing. The outer edge of the highlighted area uses a brighter shade of the highlight color. The inner edge of the shadow area uses a brighter shade of the shadow color.

Parameters:
type - an integer specifying either BevelBorder.LOWERED or BevelBorder.RAISED
highlight - a Color object for highlights
shadow - a Color object for shadows
Returns:
the Border object

createBevelBorder

public static Border createBevelBorder(int type,
                                       Color highlightOuter,
                                       Color highlightInner,
                                       Color shadowOuter,
                                       Color shadowInner)
Creates a beveled border of the specified type, using the specified colors for the inner and outer highlight and shadow areas.

Parameters:
type - an integer specifying either BevelBorder.LOWERED or BevelBorder.RAISED
highlightOuter - a Color object for the outer edge of the highlight area
highlightInner - a Color object for the inner edge of the highlight area
shadowOuter - a Color object for the outer edge of the shadow area
shadowInner - a Color object for the inner edge of the shadow area
Returns:
the Border object

createSharedBevel

static Border createSharedBevel(int type)

createEtchedBorder

public static Border createEtchedBorder()
Creates a border with an "etched" look using the component's current background color for highlighting and shading.

Returns:
the Border object

createEtchedBorder

public static Border createEtchedBorder(Color highlight,
                                        Color shadow)
Creates a border with an "etched" look using the specified highlighting and shading colors.

Parameters:
highlight - a Color object for the border highlights
shadow - a Color object for the border shadows
Returns:
the Border object

createEtchedBorder

public static Border createEtchedBorder(int type)
Creates a border with an "etched" look using the component's current background color for highlighting and shading.

Parameters:
type - one of EtchedBorder.RAISED, or EtchedBorder.LOWERED
Returns:
the Border object
Throws:
IllegalArgumentException - if type is not either EtchedBorder.RAISED or EtchedBorder.LOWERED
Since:
1.3

createEtchedBorder

public static Border createEtchedBorder(int type,
                                        Color highlight,
                                        Color shadow)
Creates a border with an "etched" look using the specified highlighting and shading colors.

Parameters:
type - one of EtchedBorder.RAISED, or EtchedBorder.LOWERED
highlight - a Color object for the border highlights
shadow - a Color object for the border shadows
Returns:
the Border object
Since:
1.3

createTitledBorder

public static TitledBorder createTitledBorder(String title)
Creates a new title border specifying the text of the title, using the default border (etched), using the default text position (sitting on the top line) and default justification (leading) and using the default font and text color determined by the current look and feel.

Parameters:
title - a String containing the text of the title
Returns:
the TitledBorder object

createTitledBorder

public static TitledBorder createTitledBorder(Border border)
Creates a new title border with an empty title specifying the border object, using the default text position (sitting on the top line) and default justification (leading) and using the default font, and text color.

Parameters:
border - the Border object to add the title to, if null the Border is determined by the current look and feel.
Returns:
the TitledBorder object

createTitledBorder

public static TitledBorder createTitledBorder(Border border,
                                              String title)
Adds a title to an existing border, specifying the text of the title, using the default positioning (sitting on the top line) and default justification (leading) and using the default font and text color determined by the current look and feel.

Parameters:
border - the Border object to add the title to
title - a String containing the text of the title
Returns:
the TitledBorder object

createTitledBorder

public static TitledBorder createTitledBorder(Border border,
                                              String title,
                                              int titleJustification,
                                              int titlePosition)
Adds a title to an existing border, specifying the text of the title along with its positioning, using the default font and text color determined by the current look and feel.

Parameters:
border - the Border object to add the title to
title - a String containing the text of the title
titleJustification - an integer specifying the justification of the title -- one of the following:
  • TitledBorder.LEFT
  • TitledBorder.CENTER
  • TitledBorder.RIGHT
  • TitledBorder.LEADING
  • TitledBorder.TRAILING
  • TitledBorder.DEFAULT_JUSTIFICATION (leading)
titlePosition - an integer specifying the vertical position of the text in relation to the border -- one of the following:
  • TitledBorder.ABOVE_TOP
  • TitledBorder.TOP (sitting on the top line)
  • TitledBorder.BELOW_TOP
  • TitledBorder.ABOVE_BOTTOM
  • TitledBorder.BOTTOM (sitting on the bottom line)
  • TitledBorder.BELOW_BOTTOM
  • TitledBorder.DEFAULT_POSITION (top)
Returns:
the TitledBorder object

createTitledBorder

public static TitledBorder createTitledBorder(Border border,
                                              String title,
                                              int titleJustification,
                                              int titlePosition,
                                              Font titleFont)
Adds a title to an existing border, specifying the text of the title along with its positioning and font, using the default text color determined by the current look and feel.

Parameters:
border - the Border object to add the title to
title - a String containing the text of the title
titleJustification - an integer specifying the justification of the title -- one of the following:
  • TitledBorder.LEFT
  • TitledBorder.CENTER
  • TitledBorder.RIGHT
  • TitledBorder.LEADING
  • TitledBorder.TRAILING
  • TitledBorder.DEFAULT_JUSTIFICATION (leading)
titlePosition - an integer specifying the vertical position of the text in relation to the border -- one of the following:
  • TitledBorder.ABOVE_TOP
  • TitledBorder.TOP (sitting on the top line)
  • TitledBorder.BELOW_TOP
  • TitledBorder.ABOVE_BOTTOM
  • TitledBorder.BOTTOM (sitting on the bottom line)
  • TitledBorder.BELOW_BOTTOM
  • TitledBorder.DEFAULT_POSITION (top)
titleFont - a Font object specifying the title font
Returns:
the TitledBorder object

createTitledBorder

public static TitledBorder createTitledBorder(Border border,
                                              String title,
                                              int titleJustification,
                                              int titlePosition,
                                              Font titleFont,
                                              Color titleColor)
Adds a title to an existing border, specifying the text of the title along with its positioning, font, and color.

Parameters:
border - the Border object to add the title to
title - a String containing the text of the title
titleJustification - an integer specifying the justification of the title -- one of the following:
  • TitledBorder.LEFT
  • TitledBorder.CENTER
  • TitledBorder.RIGHT
  • TitledBorder.LEADING
  • TitledBorder.TRAILING
  • TitledBorder.DEFAULT_JUSTIFICATION (leading)
titlePosition - an integer specifying the vertical position of the text in relation to the border -- one of the following:
  • TitledBorder.ABOVE_TOP
  • TitledBorder.TOP (sitting on the top line)
  • TitledBorder.BELOW_TOP
  • TitledBorder.ABOVE_BOTTOM
  • TitledBorder.BOTTOM (sitting on the bottom line)
  • TitledBorder.BELOW_BOTTOM
  • TitledBorder.DEFAULT_POSITION (top)
titleFont - a Font object specifying the title font
titleColor - a Color object specifying the title color
Returns:
the TitledBorder object

createEmptyBorder

public static Border createEmptyBorder()
Creates an empty border that takes up no space. (The width of the top, bottom, left, and right sides are all zero.)

Returns:
the Border object

createEmptyBorder

public static Border createEmptyBorder(int top,
                                       int left,
                                       int bottom,
                                       int right)
Creates an empty border that takes up space but which does no drawing, specifying the width of the top, left, bottom, and right sides.

Parameters:
top - an integer specifying the width of the top, in pixels
left - an integer specifying the width of the left side, in pixels
bottom - an integer specifying the width of the right side, in pixels
right - an integer specifying the width of the bottom, in pixels
Returns:
the Border object

createCompoundBorder

public static CompoundBorder createCompoundBorder()
Creates a compound border with a null inside edge and a null outside edge.

Returns:
the CompoundBorder object

createCompoundBorder

public static CompoundBorder createCompoundBorder(Border outsideBorder,
                                                  Border insideBorder)
Creates a compound border specifying the border objects to use for the outside and inside edges.

Parameters:
outsideBorder - a Border object for the outer edge of the compound border
insideBorder - a Border object for the inner edge of the compound border
Returns:
the CompoundBorder object

createMatteBorder

public static MatteBorder createMatteBorder(int top,
                                            int left,
                                            int bottom,
                                            int right,
                                            Color color)
Creates a matte-look border using a solid color. (The difference between this border and a line border is that you can specify the individual border dimensions.)

Parameters:
top - an integer specifying the width of the top, in pixels
left - an integer specifying the width of the left side, in pixels
bottom - an integer specifying the width of the right side, in pixels
right - an integer specifying the width of the bottom, in pixels
color - a Color to use for the border
Returns:
the MatteBorder object

createMatteBorder

public static MatteBorder createMatteBorder(int top,
                                            int left,
                                            int bottom,
                                            int right,
                                            Icon tileIcon)
Creates a matte-look border that consists of multiple tiles of a specified icon. Multiple copies of the icon are placed side-by-side to fill up the border area.

Note:
If the icon doesn't load, the border area is painted gray.

Parameters:
top - an integer specifying the width of the top, in pixels
left - an integer specifying the width of the left side, in pixels
bottom - an integer specifying the width of the right side, in pixels
right - an integer specifying the width of the bottom, in pixels
tileIcon - the Icon object used for the border tiles
Returns:
the MatteBorder object