public class Border extends Object
This class can be extended to provide additional border types and custom made border types.
A border can optionally paint the background of the component, this depends on the border type and is generally required for rounded borders that "know" the area that should be filled.
Modifier | Constructor and Description |
---|---|
protected |
Border()
Prevents usage of new operator, use the factory methods in the class or subclass
to create new border types.
|
Modifier and Type | Method and Description |
---|---|
static Border |
createBevelLowered()
Creates a lowered bevel border with default colors, highlight is derived
from the component and shadow is a plain dark color
|
static Border |
createBevelLowered(int highlightOuter,
int highlightInner,
int shadowOuter,
int shadowInner)
Creates a raised bevel border with the given colors
|
static Border |
createBevelRaised()
Creates a lowered bevel border with default colors, highlight is derived
from the component and shadow is a plain dark color
|
static Border |
createBevelRaised(int highlightOuter,
int highlightInner,
int shadowOuter,
int shadowInner)
Creates a raised bevel border with the given colors
|
static Border |
createEmpty()
Creates an empty border, this is useful where we don't want a border for a
component but want a focus border etc...
|
static Border |
createEtchedLowered()
Creates a lowered etched border with default colors, highlight is derived
from the component and shadow is a plain dark color
|
static Border |
createEtchedLowered(int highlight,
int shadow)
Creates a raised etched border with the given colors
|
static Border |
createEtchedRaised()
Creates a lowered etched border with default colors, highlight is derived
from the component and shadow is a plain dark color
|
static Border |
createEtchedRaised(int highlight,
int shadow)
Creates a raised etched border with the given colors
|
static Border |
createImageBorder(Image top,
Image topLeft,
Image background)
The given images are tiled appropriately across the matching side of the border, rotated and placed
as expected in the four corners.
|
static Border |
createImageBorder(Image top,
Image bottom,
Image left,
Image right,
Image topLeft,
Image topRight,
Image bottomLeft,
Image bottomRight,
Image background)
The given images are tiled appropriately across the matching side of the border and placed
as expected in the four corners.
|
static Border |
createLineBorder(int thickness)
Creates a line border that uses the color of the component foreground for drawing
|
static Border |
createLineBorder(int thickness,
int color)
Creates a line border that uses the given color for the component
|
Border |
createPressedVersion()
When applied to buttons borders produce a version that reverses the effects
of the border providing a pressed feel
|
static Border |
createRoundBorder(int arcWidth,
int arcHeight)
Creates a rounded corner border that uses the color of the component foreground for drawing.
|
static Border |
createRoundBorder(int arcWidth,
int arcHeight,
boolean outline)
Creates a rounded corner border that uses the color of the component foreground for drawing.
|
static Border |
createRoundBorder(int arcWidth,
int arcHeight,
int color)
Creates a rounded border that uses the given color for the component.
|
static Border |
createRoundBorder(int arcWidth,
int arcHeight,
int color,
boolean outline)
Creates a rounded border that uses the given color for the component.
|
static Border |
getDefaultBorder()
Gets the default border to the given value
|
static Border |
getEmpty()
Deprecated.
use createEmpty instead
|
Border |
getFocusedInstance()
Deprecated.
use the getSelectedStyle() method in the component class
|
Border |
getPressedInstance()
Returns the pressed version of the border if one is set by the user
|
int |
getThickness()
This methos returns how thick is the border in pixels
|
boolean |
isBackgroundPainter()
Returns true if installing this border will override the painting of the component background
|
void |
paint(Graphics g,
Component c)
Draws the border for the given component, this method is called before a call to
background painting is made.
|
void |
paintBorderBackground(Graphics g,
Component c)
Has effect when the border demands responsibility for background painting
normally the painter will perform this work but in this case the border might
do it instead.
|
static void |
setDefaultBorder(Border border)
Sets the default border to the given value
|
void |
setFocusedInstance(Border focused)
Deprecated.
use the getSelectedStyle() method in the component class
|
void |
setPressedInstance(Border pressed)
Allows us to define a border that will act as the pressed version of this border
|
protected Border()
public static Border getEmpty()
public static Border createEmpty()
public static Border createImageBorder(Image top, Image bottom, Image left, Image right, Image topLeft, Image topRight, Image bottomLeft, Image bottomRight, Image background)
By default this border does not override background unless a background image is specified
top
- the image of the top linebottom
- the image of the bottom lineleft
- the image of the left lineright
- the image of the right linetopLeft
- the image of the top left cornertopRight
- the image of the top right cornerbottomLeft
- the image of the bottom left cornerbottomRight
- the image of the bottom right cornerbackground
- the image of the background (optional)public static Border createImageBorder(Image top, Image topLeft, Image background)
By default this border does not override background unless a background image is specified.
Notice that this version of the method is potentially much more efficient since images are rotated internally and this might save quite a bit of memory!
The top and topLeft images must be square! The width and height of these images must be equal otherwise rotation won't work as you expect.
top
- the image of the top linetopLeft
- the image of the top left cornerbackground
- the image of the background (optional)public static Border createLineBorder(int thickness)
thickness
- thickness of the boder in pixelspublic static Border createLineBorder(int thickness, int color)
thickness
- thickness of the boder in pixelscolor
- the color for the borderpublic static Border createRoundBorder(int arcWidth, int arcHeight)
This border overrides any painter used on the component and would ignor such a painter.
arcWidth
- the horizontal diameter of the arc at the four corners.arcHeight
- the vertical diameter of the arc at the four corners.public static Border createRoundBorder(int arcWidth, int arcHeight, boolean outline)
This border overrides any painter used on the component and would ignor such a painter.
arcWidth
- the horizontal diameter of the arc at the four corners.arcHeight
- the vertical diameter of the arc at the four corners.outline
- whether the round rect border outline should be drawnpublic static Border createRoundBorder(int arcWidth, int arcHeight, int color)
This border overrides any painter used on the component and would ignor such a painter.
arcWidth
- the horizontal diameter of the arc at the four corners.arcHeight
- the vertical diameter of the arc at the four corners.color
- the color for the borderpublic static Border createRoundBorder(int arcWidth, int arcHeight, int color, boolean outline)
This border overrides any painter used on the component and would ignor such a painter.
arcWidth
- the horizontal diameter of the arc at the four corners.arcHeight
- the vertical diameter of the arc at the four corners.color
- the color for the borderoutline
- whether the round rect border outline should be drawnpublic static Border createEtchedLowered()
public static Border createEtchedLowered(int highlight, int shadow)
highlight
- color RGB valueshadow
- color RGB valuepublic static Border createEtchedRaised()
public static Border createEtchedRaised(int highlight, int shadow)
highlight
- color RGB valueshadow
- color RGB valuepublic boolean isBackgroundPainter()
public static Border createBevelLowered()
public static Border createBevelLowered(int highlightOuter, int highlightInner, int shadowOuter, int shadowInner)
highlightOuter
- RGB of the outer edge of the highlight areahighlightInner
- RGB of the inner edge of the highlight areashadowOuter
- RGB of the outer edge of the shadow areashadowInner
- RGB of the inner edge of the shadow areapublic static Border createBevelRaised()
public static Border createBevelRaised(int highlightOuter, int highlightInner, int shadowOuter, int shadowInner)
highlightOuter
- RGB of the outer edge of the highlight areahighlightInner
- RGB of the inner edge of the highlight areashadowOuter
- RGB of the outer edge of the shadow areashadowInner
- RGB of the inner edge of the shadow areapublic void setPressedInstance(Border pressed)
pressed
- a border that will be returned by the pressed version methodpublic void setFocusedInstance(Border focused)
focused
- a border that will be returned by the focused version methodpublic Border getFocusedInstance()
public Border getPressedInstance()
public Border createPressedVersion()
public void paintBorderBackground(Graphics g, Component c)
g
- graphics context to draw ontoc
- component whose border should be drawnpublic void paint(Graphics g, Component c)
g
- graphics context to draw ontoc
- component whose border should be drawnpublic static void setDefaultBorder(Border border)
border
- new border valuepublic static Border getDefaultBorder()
public int getThickness()