FileDocCategorySizeDatePackage
BevelBorder.javaAPI DocJava SE 6 API9639Tue Jun 10 00:26:42 BST 2008javax.swing.border

BevelBorder

public class BevelBorder extends AbstractBorder
A class which implements a simple two-line bevel border.

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 {@link java.beans.XMLEncoder}.

version
1.22 04/07/06
author
David Kloba

Fields Summary
public static final int
RAISED
Raised bevel type.
public static final int
LOWERED
Lowered bevel type.
protected int
bevelType
protected Color
highlightOuter
protected Color
highlightInner
protected Color
shadowInner
protected Color
shadowOuter
Constructors Summary
public BevelBorder(int bevelType)
Creates a bevel border with the specified type and whose colors will be derived from the background color of the component passed into the paintBorder method.

param
bevelType the type of bevel for the border


                                            
       
        this.bevelType = bevelType;
    
public BevelBorder(int bevelType, Color highlight, Color shadow)
Creates a bevel border with the specified type, highlight and shadow colors.

param
bevelType the type of bevel for the border
param
highlight the color to use for the bevel highlight
param
shadow the color to use for the bevel shadow

        this(bevelType, highlight.brighter(), highlight, shadow, shadow.brighter());
    
public BevelBorder(int bevelType, Color highlightOuterColor, Color highlightInnerColor, Color shadowOuterColor, Color shadowInnerColor)
Creates a bevel border with the specified type, highlight and shadow colors.

Note: The shadow inner and outer colors are switched for a lowered bevel border.

param
bevelType the type of bevel for the border
param
highlightOuterColor the color to use for the bevel outer highlight
param
highlightInnerColor the color to use for the bevel inner highlight
param
shadowOuterColor the color to use for the bevel outer shadow
param
shadowInnerColor the color to use for the bevel inner shadow

        this(bevelType);
        this.highlightOuter = highlightOuterColor;
        this.highlightInner = highlightInnerColor;
        this.shadowOuter = shadowOuterColor;
        this.shadowInner = shadowInnerColor;
    
Methods Summary
public intgetBevelType()
Returns the type of the bevel border.

        return bevelType;
    
public java.awt.InsetsgetBorderInsets(java.awt.Component c)
Returns the insets of the border.

param
c the component for which this border insets value applies

	return new Insets(2, 2, 2, 2);
    
public java.awt.InsetsgetBorderInsets(java.awt.Component c, java.awt.Insets insets)
Reinitialize the insets parameter with this Border's current Insets.

param
c the component for which this border insets value applies
param
insets the object to be reinitialized

        insets.left = insets.top = insets.right = insets.bottom = 2;
        return insets;
    
public java.awt.ColorgetHighlightInnerColor()
Returns the inner highlight color of the bevel border. Will return null if no highlight color was specified at instantiation.

since
1.3

        return highlightInner;
    
public java.awt.ColorgetHighlightInnerColor(java.awt.Component c)
Returns the inner highlight color of the bevel 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.

param
c the component for which the highlight may be derived
since
1.3

        Color highlight = getHighlightInnerColor();
        return highlight != null? highlight :
                                       c.getBackground().brighter();
    
public java.awt.ColorgetHighlightOuterColor()
Returns the outer highlight color of the bevel border. Will return null if no highlight color was specified at instantiation.

since
1.3

        return highlightOuter;
    
public java.awt.ColorgetHighlightOuterColor(java.awt.Component c)
Returns the outer highlight color of the bevel 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.

param
c the component for which the highlight may be derived
since
1.3

        Color highlight = getHighlightOuterColor();
        return highlight != null? highlight : 
                                       c.getBackground().brighter().brighter();
    
public java.awt.ColorgetShadowInnerColor()
Returns the inner shadow color of the bevel border. Will return null if no shadow color was specified at instantiation.

since
1.3

        return shadowInner;
    
public java.awt.ColorgetShadowInnerColor(java.awt.Component c)
Returns the inner shadow color of the bevel 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.

param
c the component for which the shadow may be derived
since
1.3

        Color shadow = getShadowInnerColor();
        return shadow != null? shadow :
                                    c.getBackground().darker();
    
public java.awt.ColorgetShadowOuterColor(java.awt.Component c)
Returns the outer shadow color of the bevel 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.

param
c the component for which the shadow may be derived
since
1.3

        Color shadow = getShadowOuterColor();
        return shadow != null? shadow :
                                    c.getBackground().darker().darker();
    
public java.awt.ColorgetShadowOuterColor()
Returns the outer shadow color of the bevel border. Will return null if no shadow color was specified at instantiation.

since
1.3

        return shadowOuter;
    
public booleanisBorderOpaque()
Returns whether or not the border is opaque.

 return true; 
public voidpaintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
Paints the border for the specified component with the specified position and size.

param
c the component for which this border is being painted
param
g the paint graphics
param
x the x position of the painted border
param
y the y position of the painted border
param
width the width of the painted border
param
height the height of the painted border

        if (bevelType == RAISED) {
             paintRaisedBevel(c, g, x, y, width, height);

        } else if (bevelType == LOWERED) {
             paintLoweredBevel(c, g, x, y, width, height);
        }
    
protected voidpaintLoweredBevel(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)

        Color oldColor = g.getColor();
        int h = height;
        int w = width;

        g.translate(x, y);

        g.setColor(getShadowInnerColor(c));
        g.drawLine(0, 0, 0, h-1);
        g.drawLine(1, 0, w-1, 0);

        g.setColor(getShadowOuterColor(c));
        g.drawLine(1, 1, 1, h-2);
        g.drawLine(2, 1, w-2, 1);

        g.setColor(getHighlightOuterColor(c));
        g.drawLine(1, h-1, w-1, h-1);
        g.drawLine(w-1, 1, w-1, h-2);

        g.setColor(getHighlightInnerColor(c));
        g.drawLine(2, h-2, w-2, h-2);
        g.drawLine(w-2, 2, w-2, h-3);

        g.translate(-x, -y);
        g.setColor(oldColor);

    
protected voidpaintRaisedBevel(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)

        Color oldColor = g.getColor();
        int h = height;
        int w = width;

        g.translate(x, y);

        g.setColor(getHighlightOuterColor(c));
        g.drawLine(0, 0, 0, h-2);
        g.drawLine(1, 0, w-2, 0);

        g.setColor(getHighlightInnerColor(c));
        g.drawLine(1, 1, 1, h-3);
        g.drawLine(2, 1, w-3, 1);

        g.setColor(getShadowOuterColor(c));
        g.drawLine(0, h-1, w-1, h-1);
        g.drawLine(w-1, 0, w-1, h-2);

        g.setColor(getShadowInnerColor(c));
        g.drawLine(1, h-2, w-2, h-2);
        g.drawLine(w-2, 1, w-2, h-3);

        g.translate(-x, -y);
        g.setColor(oldColor);