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.
public static Border createLineBorder(Color color)
Creates a line border withe the specified color.
color
- a Color
to use for the lineBorder
objectpublic 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)
.
color
- a Color
to use for the linethickness
- an integer specifying the width in pixelsBorder
objectpublic static Border createLineBorder(Color color, int thickness, boolean rounded)
Creates a line border with the specified color, thickness, and corner shape.
color
- the color of the borderthickness
- the thickness of the borderrounded
- whether or not border corners should be roundBorder
objectLineBorder.LineBorder(Color, int, boolean)
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.)
Border
objectpublic 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.)
Border
objectpublic 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.)
type
- an integer specifying either BevelBorder.LOWERED
or BevelBorder.RAISED
Border
objectpublic 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.
type
- an integer specifying either BevelBorder.LOWERED
or BevelBorder.RAISED
highlight
- a Color
object for highlightsshadow
- a Color
object for shadowsBorder
objectpublic 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.
type
- an integer specifying either BevelBorder.LOWERED
or BevelBorder.RAISED
highlightOuter
- a Color
object for the outer edge of the highlight areahighlightInner
- a Color
object for the inner edge of the highlight areashadowOuter
- a Color
object for the outer edge of the shadow areashadowInner
- a Color
object for the inner edge of the shadow areaBorder
objectpublic static Border createRaisedSoftBevelBorder()
Creates a beveled border with a raised edge and softened corners, 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.
Border
objectpublic static Border createLoweredSoftBevelBorder()
Creates a beveled border with a lowered edge and softened corners, 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.
Border
objectpublic static Border createSoftBevelBorder(int type)
Creates a beveled border of the specified type with softened corners, using brighter shades of the component's current background color for highlighting, and darker shading for shadows. The type is either BevelBorder.RAISED
or BevelBorder.LOWERED
.
type
- a type of a bevelBorder
object or null
if the specified type is not validBevelBorder.BevelBorder(int)
public static Border createSoftBevelBorder(int type, Color highlight, Color shadow)
Creates a beveled border of the specified type with softened corners, using the specified highlighting and shadowing. The type is either BevelBorder.RAISED
or BevelBorder.LOWERED
. The outer edge of the highlight area uses a brighter shade of the highlight
color. The inner edge of the shadow area uses a brighter shade of the shadow
color.
type
- a type of a bevelhighlight
- a basic color of the highlight areashadow
- a basic color of the shadow areaBorder
objectBevelBorder.BevelBorder(int, Color, Color)
public static Border createSoftBevelBorder(int type, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner)
Creates a beveled border of the specified type with softened corners, using the specified colors for the inner and outer edges of the highlight and the shadow areas. The type is either BevelBorder.RAISED
or BevelBorder.LOWERED
. Note: The shadow inner and outer colors are switched for a lowered bevel border.
type
- a type of a bevelhighlightOuter
- a color of the outer edge of the highlight areahighlightInner
- a color of the inner edge of the highlight areashadowOuter
- a color of the outer edge of the shadow areashadowInner
- a color of the inner edge of the shadow areaBorder
objectBevelBorder.BevelBorder(int, Color, Color, Color, Color)
public static Border createEtchedBorder()
Creates a border with an "etched" look using the component's current background color for highlighting and shading.
Border
objectpublic static Border createEtchedBorder(Color highlight, Color shadow)
Creates a border with an "etched" look using the specified highlighting and shading colors.
highlight
- a Color
object for the border highlightsshadow
- a Color
object for the border shadowsBorder
objectpublic static Border createEtchedBorder(int type)
Creates a border with an "etched" look using the component's current background color for highlighting and shading.
type
- one of EtchedBorder.RAISED
, or EtchedBorder.LOWERED
Border
objectIllegalArgumentException
- if type is not either EtchedBorder.RAISED
or EtchedBorder.LOWERED
public static Border createEtchedBorder(int type, Color highlight, Color shadow)
Creates a border with an "etched" look using the specified highlighting and shading colors.
type
- one of EtchedBorder.RAISED
, or EtchedBorder.LOWERED
highlight
- a Color
object for the border highlightsshadow
- a Color
object for the border shadowsBorder
objectpublic static TitledBorder createTitledBorder(String title)
Creates a new titled border with the specified title, the default border type (determined by the current look and feel), the default text position (determined by the current look and feel), the default justification (leading), and the default font and text color (determined by the current look and feel).
title
- a String
containing the text of the titleTitledBorder
objectpublic static TitledBorder createTitledBorder(Border border)
Creates a new titled border with an empty title, the specified border object, the default text position (determined by the current look and feel), the default justification (leading), and the default font and text color (determined by the current look and feel).
border
- the Border
object to add the title to; if null
the Border
is determined by the current look and feel.TitledBorder
objectpublic static TitledBorder createTitledBorder(Border border, String title)
Adds a title to an existing border, with default positioning (determined by the current look and feel), default justification (leading) and the default font and text color (determined by the current look and feel).
border
- the Border
object to add the title totitle
- a String
containing the text of the titleTitledBorder
objectpublic static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition)
Adds a title to an existing border, with the specified positioning and using the default font and text color (determined by the current look and feel).
border
- the Border
object to add the title totitle
- a String
containing the text of the titletitleJustification
- 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
(the title position is determined by the current look and feel) TitledBorder
objectpublic static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont)
Adds a title to an existing border, with the specified positioning and font, and using the default text color (determined by the current look and feel).
border
- the Border
object to add the title totitle
- a String
containing the text of the titletitleJustification
- 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
(the title position is determined by the current look and feel) titleFont
- a Font object specifying the title fontpublic static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont, Color titleColor)
Adds a title to an existing border, with the specified positioning, font and color.
border
- the Border
object to add the title totitle
- a String
containing the text of the titletitleJustification
- 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
(the title position is determined by the current look and feel) titleFont
- a Font
object specifying the title fonttitleColor
- a Color
object specifying the title colorTitledBorder
objectpublic 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.)
Border
objectpublic 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.
top
- an integer specifying the width of the top, in pixelsleft
- an integer specifying the width of the left side, in pixelsbottom
- an integer specifying the width of the bottom, in pixelsright
- an integer specifying the width of the right side, in pixelsBorder
objectpublic static CompoundBorder createCompoundBorder()
Creates a compound border with a null
inside edge and a null
outside edge.
CompoundBorder
objectpublic static CompoundBorder createCompoundBorder(Border outsideBorder, Border insideBorder)
Creates a compound border specifying the border objects to use for the outside and inside edges.
outsideBorder
- a Border
object for the outer edge of the compound borderinsideBorder
- a Border
object for the inner edge of the compound borderCompoundBorder
objectpublic 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.)
top
- an integer specifying the width of the top, in pixelsleft
- an integer specifying the width of the left side, in pixelsbottom
- an integer specifying the width of the right side, in pixelsright
- an integer specifying the width of the bottom, in pixelscolor
- a Color
to use for the borderMatteBorder
objectpublic 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.
top
- an integer specifying the width of the top, in pixelsleft
- an integer specifying the width of the left side, in pixelsbottom
- an integer specifying the width of the right side, in pixelsright
- an integer specifying the width of the bottom, in pixelstileIcon
- the Icon
object used for the border tilesMatteBorder
objectpublic static Border createStrokeBorder(BasicStroke stroke)
Creates a border of the specified stroke
. The component's foreground color will be used to render the border.
stroke
- the BasicStroke
object used to stroke a shapeBorder
objectNullPointerException
- if the specified stroke
is null
public static Border createStrokeBorder(BasicStroke stroke, Paint paint)
Creates a border of the specified stroke
and paint
. If the specified paint
is null
, the component's foreground color will be used to render the border.
stroke
- the BasicStroke
object used to stroke a shapepaint
- the Paint
object used to generate a colorBorder
objectNullPointerException
- if the specified stroke
is null
public static Border createDashedBorder(Paint paint)
Creates a dashed border of the specified paint
. If the specified paint
is null
, the component's foreground color will be used to render the border. The width of a dash line is equal to 1
. The relative length of a dash line and the relative spacing between dash lines are equal to 1
. A dash line is not rounded.
paint
- the Paint
object used to generate a colorBorder
objectpublic static Border createDashedBorder(Paint paint, float length, float spacing)
Creates a dashed border of the specified paint
, relative length
, and relative spacing
. If the specified paint
is null
, the component's foreground color will be used to render the border. The width of a dash line is equal to 1
. A dash line is not rounded.
paint
- the Paint
object used to generate a colorlength
- the relative length of a dash linespacing
- the relative spacing between dash linesBorder
objectIllegalArgumentException
- if the specified length
is less than 1
, or if the specified spacing
is less than 0
public static Border createDashedBorder(Paint paint, float thickness, float length, float spacing, boolean rounded)
Creates a dashed border of the specified paint
, thickness
, line shape, relative length
, and relative spacing
. If the specified paint
is null
, the component's foreground color will be used to render the border.
paint
- the Paint
object used to generate a colorthickness
- the width of a dash linelength
- the relative length of a dash linespacing
- the relative spacing between dash linesrounded
- whether or not line ends should be roundBorder
objectIllegalArgumentException
- if the specified thickness
is less than 1
, or if the specified length
is less than 1
, or if the specified spacing
is less than 0
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.