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

AbstractBorder

public abstract class AbstractBorder extends Object implements Serializable, Border
A class that implements an empty border with no size. This provides a convenient base class from which other border classes can be easily derived.

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.36 02/14/06
author
David Kloba

Fields Summary
Constructors Summary
Methods Summary
public intgetBaseline(java.awt.Component c, int width, int height)
Returns the baseline. A return value less than 0 indicates the border does not have a reasonable baseline.

The default implementation returns -1. Subclasses that support baseline should override appropriately. If a value >= 0 is returned, then the component has a valid baseline for any size >= the minimum size and getBaselineResizeBehavior can be used to determine how the baseline changes with size.

param
c Component baseline is being requested for
param
width the width to get the baseline for
param
height the height to get the baseline for
return
the baseline or < 0 indicating there is no reasonable baseline
throws
IllegalArgumentException if width or height is < 0
see
java.awt.Component#getBaseline(int,int)
see
java.awt.Component#getBaselineResizeBehavior()
since
1.6

        if (width < 0 || height < 0) {
            throw new IllegalArgumentException(
                    "Width and height must be >= 0");
        }
        return -1;
    
public java.awt.Component$BaselineResizeBehaviorgetBaselineResizeBehavior(java.awt.Component c)
Returns an enum indicating how the baseline of a component changes as the size changes. This method is primarily meant for layout managers and GUI builders.

The default implementation returns BaselineResizeBehavior.OTHER, subclasses that support baseline should override appropriately. Subclasses should never return null; if the baseline can not be calculated return BaselineResizeBehavior.OTHER. Callers should first ask for the baseline using getBaseline and if a value >= 0 is returned use this method. It is acceptable for this method to return a value other than BaselineResizeBehavior.OTHER even if getBaseline returns a value less than 0.

param
c Component to return baseline resize behavior for
return
an enum indicating how the baseline changes as the border is resized
see
java.awt.Component#getBaseline(int,int)
see
java.awt.Component#getBaselineResizeBehavior()
since
1.6

        if (c == null) {
            throw new NullPointerException("Component must be non-null");
        }
        return Component.BaselineResizeBehavior.OTHER;
    
public java.awt.InsetsgetBorderInsets(java.awt.Component c)
This default implementation returns a new Insets instance where the top, left, bottom, and right fields are set to 0.

param
c the component for which this border insets value applies
return
the new Insets object initialized to 0

 
        return new Insets(0, 0, 0, 0);
    
public java.awt.InsetsgetBorderInsets(java.awt.Component c, java.awt.Insets insets)
Reinitializes 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
return
the insets object

        insets.left = insets.top = insets.right = insets.bottom = 0;
        return insets;
    
public java.awt.RectanglegetInteriorRectangle(java.awt.Component c, int x, int y, int width, int height)
This convenience method calls the static method.

param
c the component for which this border is being computed
param
x the x position of the border
param
y the y position of the border
param
width the width of the border
param
height the height of the border
return
a Rectangle containing the interior coordinates

	return getInteriorRectangle(c, this, x, y, width, height);
    
public static java.awt.RectanglegetInteriorRectangle(java.awt.Component c, javax.swing.border.Border b, int x, int y, int width, int height)
Returns a rectangle using the arguments minus the insets of the border. This is useful for determining the area that components should draw in that will not intersect the border.

param
c the component for which this border is being computed
param
b the Border object
param
x the x position of the border
param
y the y position of the border
param
width the width of the border
param
height the height of the border
return
a Rectangle containing the interior coordinates

        Insets insets;
	if(b != null)
	    insets = b.getBorderInsets(c);
	else
	    insets = new Insets(0, 0, 0, 0);
        return new Rectangle(x + insets.left,
	                            y + insets.top,
	                            width - insets.right - insets.left,
	                            height - insets.top - insets.bottom);
    
public booleanisBorderOpaque()
This default implementation returns false.

return
false

 return false; 
static booleanisLeftToRight(java.awt.Component c)

        return c.getComponentOrientation().isLeftToRight();
    
public voidpaintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
This default implementation does no painting.

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