javax.swing.plaf.basic
Class BasicBorders.ButtonBorder

java.lang.Object
  extended by javax.swing.border.AbstractBorder
      extended by javax.swing.plaf.basic.BasicBorders.ButtonBorder
All Implemented Interfaces:
Serializable, Border, UIResource
Direct Known Subclasses:
BasicBorders.RadioButtonBorder, BasicBorders.RolloverButtonBorder, BasicBorders.ToggleButtonBorder
Enclosing class:
BasicBorders

public static class BasicBorders.ButtonBorder
extends AbstractBorder
implements Serializable, UIResource

A border whose appearance depends on the state of the enclosed button.

[A screen shot of this border]

See Also:
BasicGraphicsUtils.drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color), Serialized Form

Field Summary
protected  Color darkShadow
          The color for drawing the dark shaded parts of the border.
protected  Color highlight
          The color for drawing the highlighted parts of the border.
protected  Color lightHighlight
          The color for drawing the bright highlighted parts of the border.
protected  Color shadow
          The color for drawing the shaded parts of the border.
 
Constructor Summary
BasicBorders.ButtonBorder(Color shadow, Color darkShadow, Color highlight, Color lightHighlight)
          Constructs a new border for drawing a button in the Basic look and feel.
 
Method Summary
 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 ButtonBorder around a given component.
 
Methods inherited from class javax.swing.border.AbstractBorder
getInteriorRectangle, getInteriorRectangle, isBorderOpaque
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shadow

protected Color shadow
The color for drawing the shaded parts of the border.

See Also:
BasicGraphicsUtils.drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color)

darkShadow

protected Color darkShadow
The color for drawing the dark shaded parts of the border.

See Also:
BasicGraphicsUtils.drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color)

highlight

protected Color highlight
The color for drawing the highlighted parts of the border.

See Also:
BasicGraphicsUtils.drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color)

lightHighlight

protected Color lightHighlight
The color for drawing the bright highlighted parts of the border.

See Also:
BasicGraphicsUtils.drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color)
Constructor Detail

BasicBorders.ButtonBorder

public BasicBorders.ButtonBorder(Color shadow,
                                 Color darkShadow,
                                 Color highlight,
                                 Color lightHighlight)
Constructs a new border for drawing a button 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

paintBorder

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

Specified by:
paintBorder in interface Border
Overrides:
paintBorder in class AbstractBorder
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.drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color)

getBorderInsets

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

Although the thickness of the actually painted border depends on the state of the enclosed component, this measurement always returns the same amount of pixels. Indeed, it would be rather confusing if a button was appearing to change its size depending on whether it is pressed or not.

Specified by:
getBorderInsets in interface Border
Overrides:
getBorderInsets in class AbstractBorder
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:
getBorderInsets(java.awt.Component, java.awt.Insets)

getBorderInsets

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

Although the thickness of the actually painted border depends on the state of the enclosed component, this measurement always returns the same amount of pixels. Indeed, it would be rather confusing if a button was appearing to change its size depending on whether it is pressed or not.

Overrides:
getBorderInsets in class AbstractBorder
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.
c - the component that the border applies to (ignored here, subclasses may use it).
Returns:
the same object that was passed for insets.
See Also:
getBorderInsets(Component)