javax.swing.border
Class EtchedBorder

java.lang.Object
  extended byjavax.swing.border.AbstractBorder
      extended byjavax.swing.border.EtchedBorder
All Implemented Interfaces:
Border, Serializable
Direct Known Subclasses:
BorderUIResource.EtchedBorderUIResource

public class EtchedBorder
extends AbstractBorder

A class which implements a simple etched border which can either be etched-in or etched-out. If no highlight/shadow colors are initialized when the border is created, then these colors will be dynamically derived from the background color of the component argument passed into the paintBorder() method.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

Author:
David Kloba, Amy Fowler
See Also:
Serialized Form

Field Summary
protected  int etchType
           
protected  Color highlight
           
static int LOWERED
          Lowered etched type.
static int RAISED
          Raised etched type.
protected  Color shadow
           
 
Constructor Summary
EtchedBorder()
          Creates a lowered etched border whose colors will be derived from the background color of the component passed into the paintBorder method.
EtchedBorder(Color highlight, Color shadow)
          Creates a lowered etched border with the specified highlight and shadow colors.
EtchedBorder(int etchType)
          Creates an etched border with the specified etch-type whose colors will be derived from the background color of the component passed into the paintBorder method.
EtchedBorder(int etchType, Color highlight, Color shadow)
          Creates an etched border with the specified etch-type, highlight and shadow colors.
 
Method Summary
 Insets getBorderInsets(Component c)
          Returns the insets of the border.
 Insets getBorderInsets(Component c, Insets insets)
          Reinitialize the insets parameter with this Border's current Insets.
 int getEtchType()
          Returns which etch-type is set on the etched border.
 Color getHighlightColor()
          Returns the highlight color of the etched border.
 Color getHighlightColor(Component c)
          Returns the highlight color of the etched border when rendered on the specified component.
 Color getShadowColor()
          Returns the shadow color of the etched border.
 Color getShadowColor(Component c)
          Returns the shadow color of the etched border when rendered on the specified component.
 boolean isBorderOpaque()
          Returns whether or not the border is opaque.
 void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
          Paints the border for the specified component with the specified position and size.
 
Methods inherited from class javax.swing.border.AbstractBorder
getInteriorRectangle, getInteriorRectangle, isLeftToRight
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RAISED

public static final int RAISED
Raised etched type.

See Also:
Constant Field Values

LOWERED

public static final int LOWERED
Lowered etched type.

See Also:
Constant Field Values

etchType

protected int etchType

highlight

protected Color highlight

shadow

protected Color shadow
Constructor Detail

EtchedBorder

public EtchedBorder()
Creates a lowered etched border whose colors will be derived from the background color of the component passed into the paintBorder method.


EtchedBorder

public EtchedBorder(int etchType)
Creates an etched border with the specified etch-type whose colors will be derived from the background color of the component passed into the paintBorder method.

Parameters:
etchType - the type of etch to be drawn by the border

EtchedBorder

public EtchedBorder(Color highlight,
                    Color shadow)
Creates a lowered etched border with the specified highlight and shadow colors.

Parameters:
highlight - the color to use for the etched highlight
shadow - the color to use for the etched shadow

EtchedBorder

public EtchedBorder(int etchType,
                    Color highlight,
                    Color shadow)
Creates an etched border with the specified etch-type, highlight and shadow colors.

Parameters:
etchType - the type of etch to be drawn by the border
highlight - the color to use for the etched highlight
shadow - the color to use for the etched shadow
Method Detail

paintBorder

public void paintBorder(Component c,
                        Graphics g,
                        int x,
                        int y,
                        int width,
                        int height)
Paints the border for the specified component with the specified position and size.

Specified by:
paintBorder in interface Border
Overrides:
paintBorder in class AbstractBorder
Parameters:
c - the component for which this border is being painted
g - the paint graphics
x - the x position of the painted border
y - the y position of the painted border
width - the width of the painted border
height - the height of the painted border

getBorderInsets

public Insets getBorderInsets(Component c)
Returns the insets of the border.

Specified by:
getBorderInsets in interface Border
Overrides:
getBorderInsets in class AbstractBorder
Parameters:
c - the component for which this border insets value applies
Returns:
the new Insets object initialized to 0

getBorderInsets

public Insets getBorderInsets(Component c,
                              Insets insets)
Reinitialize the insets parameter with this Border's current Insets.

Overrides:
getBorderInsets in class AbstractBorder
Parameters:
c - the component for which this border insets value applies
insets - the object to be reinitialized
Returns:
the insets object

isBorderOpaque

public boolean isBorderOpaque()
Returns whether or not the border is opaque.

Specified by:
isBorderOpaque in interface Border
Overrides:
isBorderOpaque in class AbstractBorder
Returns:
false

getEtchType

public int getEtchType()
Returns which etch-type is set on the etched border.


getHighlightColor

public Color getHighlightColor(Component c)
Returns the highlight color of the etched border when rendered on the specified component. If no highlight color was specified at instantiation, the highlight color is derived from the specified component's background color.

Parameters:
c - the component for which the highlight may be derived

getHighlightColor

public Color getHighlightColor()
Returns the highlight color of the etched border. Will return null if no highlight color was specified at instantiation.


getShadowColor

public Color getShadowColor(Component c)
Returns the shadow color of the etched border when rendered on the specified component. If no shadow color was specified at instantiation, the shadow color is derived from the specified component's background color.

Parameters:
c - the component for which the shadow may be derived

getShadowColor

public Color getShadowColor()
Returns the shadow color of the etched border. Will return null if no shadow color was specified at instantiation.