javax.swing.plaf.basic
public static class BasicBorders.RadioButtonBorder extends BasicBorders.ButtonBorder
Note about the screen shot: Normally, the
borderPainted
property is false
for
JRadioButtons. For this screen shot, it has been set to
true
so the borders get drawn. Also, a
concretization of the Basic look and would typically provide
icons for the various states of radio buttons.
Note that the focus rectangle is invisible If the radio button is currently selected. While it might be debatable whether this makes a lot of sense, this behavior can be observed in the Sun reference implementation (in JDK 1.3.1 and 1.4.1). The Classpath implementation tries to exactly replicate the JDK appearance.
darkShadow, highlight, lightHighlight, shadow
Constructor and Description |
---|
BasicBorders.RadioButtonBorder(Color shadow,
Color darkShadow,
Color highlight,
Color lightHighlight)
Constructs a new border for drawing a JRadioButton in
the Basic look and feel.
|
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.
|
void |
paintBorder(Component c,
Graphics g,
int x,
int y,
int width,
int height)
Paints the RadioButtonBorder around a given component.
|
getInteriorRectangle, getInteriorRectangle, isBorderOpaque
public BasicBorders.RadioButtonBorder(Color shadow, Color darkShadow, Color highlight, Color lightHighlight)
shadow
- the shadow color.darkShadow
- a darker variant of the shadow color.highlight
- the highlight color.lightHighlight
- a brighter variant of the highlight color.public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
The Sun implementation always seems to draw exactly the same border, irrespective of the state of the button. This is rather surprising, but GNU Classpath emulates the observable behavior.
paintBorder
in interface Border
paintBorder
in class BasicBorders.ButtonBorder
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.BasicGraphicsUtils.drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color)
public Insets getBorderInsets(Component c)
getBorderInsets
in interface Border
getBorderInsets
in class BasicBorders.ButtonBorder
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 BasicBorders.ButtonBorder
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)