javax.swing.border
public class SoftBevelBorder extends BevelBorder
Like BevelBorder, SoftBevelBorder 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. In the lowered variant, color usage is reversed. For an image, see the documentation of the individual constructors.
bevelType, highlightInner, highlightOuter, LOWERED, RAISED, shadowInner, shadowOuter
Constructor and Description |
---|
SoftBevelBorder(int bevelType)
Constructs a SoftBevelBorder whose colors will be derived from the
background of the enclosed component.
|
SoftBevelBorder(int bevelType,
Color highlight,
Color shadow)
Constructs a SoftBevelBorder given its appearance type and two
colors for its highlight and shadow.
|
SoftBevelBorder(int bevelType,
Color highlightOuter,
Color highlightInner,
Color shadowOuter,
Color shadowInner)
Constructs a SoftBevelBorder given its appearance type and all
colors.
|
Modifier and Type | Method and Description |
---|---|
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.
|
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.
|
getBevelType, getHighlightInnerColor, getHighlightInnerColor, getHighlightOuterColor, getHighlightOuterColor, getShadowInnerColor, getShadowInnerColor, getShadowOuterColor, getShadowOuterColor, paintLoweredBevel, paintRaisedBevel
getInteriorRectangle, getInteriorRectangle
public SoftBevelBorder(int bevelType)
bevelType
- the desired appearance of the border. The value
must be either BevelBorder.RAISED
or BevelBorder.LOWERED
.IllegalArgumentException
- if bevelType
has
an unsupported value.public SoftBevelBorder(int bevelType, Color highlight, Color shadow)
bevelType
- the desired appearance of the border. The value
must be either BevelBorder.RAISED
or BevelBorder.LOWERED
.highlight
- the color that will be used for the inner side
of the highlighted edges (top and left if if
bevelType
is BevelBorder.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 BevelBorder.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 SoftBevelBorder(int bevelType, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner)
bevelType
- the desired appearance of the border. The value
must be either BevelBorder.RAISED
or BevelBorder.LOWERED
.highlightOuter
- the color that will be used for the outer
side of the highlighted edges (top and left if
bevelType
is BevelBorder.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 BevelBorder.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 BevelBorder
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 BevelBorder
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 BevelBorder
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 boolean isBorderOpaque()
The enlarged view (see documentation for constructors) shows
that a SoftBevelBorder does not paint all pixels. Therefore,
this method always returns false
.
isBorderOpaque
in interface Border
isBorderOpaque
in class BevelBorder
false
.