javax.swing.plaf.basic

Class BasicBorders.RadioButtonBorder

public static class BasicBorders.RadioButtonBorder extends BasicBorders.ButtonBorder

A border for drawing radio buttons in the Basic look and feel.

[A screen shot of this border]

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.

See Also: BasicGraphicsUtils

Constructor Summary
RadioButtonBorder(Color shadow, Color darkShadow, Color highlight, Color lightHighlight)
Constructs a new border for drawing a JRadioButton in the Basic look and feel.
Method Summary
InsetsgetBorderInsets(Component c)
Measures the width of this border.
InsetsgetBorderInsets(Component c, Insets insets)
Measures the width of this border, storing the results into a pre-existing Insets object.
voidpaintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the RadioButtonBorder around a given component.

Constructor Detail

RadioButtonBorder

public RadioButtonBorder(Color shadow, Color darkShadow, Color highlight, Color lightHighlight)
Constructs a new border for drawing a JRadioButton in the Basic look and feel.

Parameters: shadow the shadow color. darkShadow a darker variant of the shadow color. highlight the highlight color. lightHighlight a brighter variant of the highlight color.

Method Detail

getBorderInsets

public Insets getBorderInsets(Component c)
Measures the width of this border.

Parameters: c the component whose border is to be measured.

Returns: an Insets object whose left, right, top and bottom fields indicate the width of the border at the respective edge.

See Also: RadioButtonBorder

getBorderInsets

public Insets getBorderInsets(Component c, Insets insets)
Measures the width of this border, storing the results into a pre-existing Insets object.

Parameters: 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.

Returns: the same object that was passed for insets.

See Also: getBorderInsets

paintBorder

public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the RadioButtonBorder around a given component.

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.

Parameters: 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.

See Also: BasicGraphicsUtils