public class BevelBorder extends AbstractBorder
A BevelBorder has a highlight and a shadow color. In the raised variant, the highlight color is used for the top and left edges, and the shadow color is used for the bottom and right edge. For an image, see the documentation of the individual constructors.
Modifier and Type | Field and Description |
---|---|
protected int |
bevelType
|
protected Color |
highlightInner
The inner highlight color, or
null to indicate that
the color shall be derived from the background of the component
whose border is being painted. |
protected Color |
highlightOuter
The outer highlight color, or
null to indicate that
the color shall be derived from the background of the component
whose border is being painted. |
static int |
LOWERED
Indicates that the BevelBorder looks like if the enclosed area was
pressed into the screen.
|
static int |
RAISED
Indicates that the BevelBorder looks like if the enclosed area was
raising out of the screen.
|
protected Color |
shadowInner
The inner shadow color, or
null to indicate that the
color shall be derived from the background of the component whose
border is being painted. |
protected Color |
shadowOuter
The outer shadow color, or
null to indicate that the
color shall be derived from the background of the component whose
border is being painted. |
Constructor and Description |
---|
BevelBorder(int bevelType)
Constructs a BevelBorder whose colors will be derived from the
background of the enclosed component.
|
BevelBorder(int bevelType,
Color highlight,
Color shadow)
Constructs a BevelBorder given its appearance type and two colors
for its highlight and shadow.
|
BevelBorder(int bevelType,
Color highlightOuter,
Color highlightInner,
Color shadowOuter,
Color shadowInner)
Constructs a BevelBorder given its appearance type and all
colors.
|
Modifier and Type | Method and Description |
---|---|
int |
getBevelType()
|
Insets |
getBorderInsets(Component c)
Measures the width of this border.
|
Insets |
getBorderInsets(Component c,
Insets insets)
Measures the width of this border, storing the results into a
pre-existing Insets object.
|
Color |
getHighlightInnerColor()
Returns the color that will be used for the inner side of
highlighted edges when painting the border, or
null
if that color will be derived from the background of the enclosed
Component. |
Color |
getHighlightInnerColor(Component c)
Determines the color that will be used for the inner side of
highlighted edges when painting the border.
|
Color |
getHighlightOuterColor()
Returns the color that will be used for the outer side of
highlighted edges when painting the border, or
null
if that color will be derived from the background of the enclosed
Component. |
Color |
getHighlightOuterColor(Component c)
Determines the color that will be used for the outer side of
highlighted edges when painting the border.
|
Color |
getShadowInnerColor()
Returns the color that will be used for the inner side of
shadowed edges when painting the border, or
null if
that color will be derived from the background of the enclosed
Component. |
Color |
getShadowInnerColor(Component c)
Determines the color that will be used for the inner side of
shadowed edges when painting the border.
|
Color |
getShadowOuterColor()
Returns the color that will be used for the outer side of
shadowed edges when painting the border, or
null if
that color will be derived from the background of the enclosed
Component. |
Color |
getShadowOuterColor(Component c)
Determines the color that will be used for the outer side of
shadowed edges when painting the border.
|
boolean |
isBorderOpaque()
Determines whether this border fills every pixel in its area
when painting.
|
void |
paintBorder(Component c,
Graphics g,
int x,
int y,
int width,
int height)
Paints the border for a given component.
|
protected void |
paintLoweredBevel(Component c,
Graphics g,
int x,
int y,
int width,
int height)
Paints a lowered bevel border around a component.
|
protected void |
paintRaisedBevel(Component c,
Graphics g,
int x,
int y,
int width,
int height)
Paints a raised bevel border around a component.
|
getInteriorRectangle, getInteriorRectangle
public static final int RAISED
public static final int LOWERED
protected int bevelType
protected Color highlightOuter
null
to indicate that
the color shall be derived from the background of the component
whose border is being painted.protected Color highlightInner
null
to indicate that
the color shall be derived from the background of the component
whose border is being painted.protected Color shadowOuter
null
to indicate that the
color shall be derived from the background of the component whose
border is being painted.protected Color shadowInner
null
to indicate that the
color shall be derived from the background of the component whose
border is being painted.public BevelBorder(int bevelType)
bevelType
- the desired appearance of the border. The value
must be either RAISED
or LOWERED
.IllegalArgumentException
- if bevelType
has
an unsupported value.public BevelBorder(int bevelType, Color highlight, Color shadow)
bevelType
- the desired appearance of the border. The value
must be either RAISED
or LOWERED
.highlight
- the color that will be used for the inner
side of the highlighted edges (top and left if
if bevelType
is RAISED
; bottom
and right otherwise). The color for the outer side
is a brightened version of this color.shadow
- the color that will be used for the outer
side of the shadowed edges (bottom and right
if bevelType
is RAISED
; top
and left otherwise). The color for the inner side
is a brightened version of this color.IllegalArgumentException
- if bevelType
has
an unsupported value.NullPointerException
- if highlight
or
shadow
is null
.Color.brighter()
public BevelBorder(int bevelType, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner)
bevelType
- the desired appearance of the border. The value
must be either RAISED
or LOWERED
.highlightOuter
- the color that will be used for the outer
side of the highlighted edges (top and left if
bevelType
is RAISED
; bottom and
right otherwise).highlightInner
- the color that will be used for the inner
side of the highlighted edges.shadowOuter
- the color that will be used for the outer
side of the shadowed edges (bottom and right
if bevelType
is RAISED
; top
and left otherwise).shadowInner
- the color that will be used for the inner
side of the shadowed edges.IllegalArgumentException
- if bevelType
has
an unsupported value.NullPointerException
- if one of the passed colors
is null
.public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
paintBorder
in interface Border
paintBorder
in class AbstractBorder
c
- the component whose border is to be painted.g
- the graphics for painting.x
- the horizontal position for painting the border.y
- the vertical position for painting the border.width
- the width of the available area for painting the border.height
- the height of the available area for painting the border.public Insets getBorderInsets(Component c)
getBorderInsets
in interface Border
getBorderInsets
in class AbstractBorder
c
- the component whose border is to be measured.left
, right
,
top
and bottom
fields indicate the
width of the border at the respective edge.getBorderInsets(java.awt.Component, java.awt.Insets)
public Insets getBorderInsets(Component c, Insets insets)
getBorderInsets
in class AbstractBorder
insets
- an Insets object for holding the result values.
After invoking this method, the left
,
right
, top
and
bottom
fields indicate the width of the
border at the respective edge.c
- the component that the border applies to (ignored here,
subclasses may use it).insets
.getBorderInsets(Component)
public Color getHighlightOuterColor(Component c)
c
- the component enclosed by this border.getHighlightInnerColor(java.awt.Component)
,
Color.brighter()
public Color getHighlightInnerColor(Component c)
c
- the component enclosed by this border.Component.getBackground()
,
Color.brighter()
public Color getShadowInnerColor(Component c)
c
- the component enclosed by this border.Component.getBackground()
,
Color.darker()
public Color getShadowOuterColor(Component c)
c
- the component enclosed by this border.getShadowInnerColor(java.awt.Component)
,
Color.darker()
public Color getHighlightOuterColor()
null
if that color will be derived from the background of the enclosed
Component.null
).public Color getHighlightInnerColor()
null
if that color will be derived from the background of the enclosed
Component.null
).public Color getShadowInnerColor()
null
if
that color will be derived from the background of the enclosed
Component.null
).public Color getShadowOuterColor()
null
if
that color will be derived from the background of the enclosed
Component.null
).public int getBevelType()
public boolean isBorderOpaque()
If the border colors are derived from the background color of
the enclosed component, the result is true
because
the derivation method always returns opaque colors. Otherwise,
the result depends on the opacity of the individual colors.
isBorderOpaque
in interface Border
isBorderOpaque
in class AbstractBorder
true
if the border is fully opaque, or
false
if some pixels of the background
can shine through the border.protected void paintRaisedBevel(Component c, Graphics g, int x, int y, int width, int height)
c
- the component whose border is to be painted.g
- the graphics for painting.x
- the horizontal position for painting the border.y
- the vertical position for painting the border.width
- the width of the available area for painting the border.height
- the height of the available area for painting the border.protected void paintLoweredBevel(Component c, Graphics g, int x, int y, int width, int height)
c
- the component whose border is to be painted.g
- the graphics for painting.x
- the horizontal position for painting the border.y
- the vertical position for painting the border.width
- the width of the available area for painting the border.height
- the height of the available area for painting the border.