AbstractBorder (Java Platform SE 6) (original) (raw)



javax.swing.border

Class AbstractBorder

java.lang.Object extended by javax.swing.border.AbstractBorder

All Implemented Interfaces:

Serializable, Border

Direct Known Subclasses:

BasicBorders.ButtonBorder, BasicBorders.FieldBorder, BasicBorders.MarginBorder, BasicBorders.MenuBarBorder, BevelBorder, CompoundBorder, EmptyBorder, EtchedBorder, LineBorder, MetalBorders.ButtonBorder, MetalBorders.Flush3DBorder, MetalBorders.InternalFrameBorder, MetalBorders.MenuBarBorder, MetalBorders.MenuItemBorder, MetalBorders.OptionDialogBorder, MetalBorders.PaletteBorder, MetalBorders.PopupMenuBorder, MetalBorders.ScrollPaneBorder, MetalBorders.TableHeaderBorder, MetalBorders.ToolBarBorder, TitledBorder


public abstract class AbstractBorder

extends Object

implements Border, Serializable

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 XMLEncoder.


Constructor Summary
AbstractBorder()
Method Summary
int [getBaseline](../../../javax/swing/border/AbstractBorder.html#getBaseline%28java.awt.Component, int, int%29)(Component c, int width, int height) Returns the baseline.
Component.BaselineResizeBehavior getBaselineResizeBehavior(Component c) Returns an enum indicating how the baseline of a component changes as the size changes.
Insets getBorderInsets(Component c) This default implementation returns a new Insets instance where the top, left,bottom, and right fields are set to 0.
Insets [getBorderInsets](../../../javax/swing/border/AbstractBorder.html#getBorderInsets%28java.awt.Component, java.awt.Insets%29)(Component c,Insets insets) Reinitializes the insets parameter with this Border's current Insets.
static Rectangle [getInteriorRectangle](../../../javax/swing/border/AbstractBorder.html#getInteriorRectangle%28java.awt.Component, javax.swing.border.Border, int, int, int, int%29)(Component c,Border b, int x, int y, int width, int height) Returns a rectangle using the arguments minus the insets of the border.
Rectangle [getInteriorRectangle](../../../javax/swing/border/AbstractBorder.html#getInteriorRectangle%28java.awt.Component, int, int, int, int%29)(Component c, int x, int y, int width, int height) This convenience method calls the static method.
boolean isBorderOpaque() This default implementation returns false.
void [paintBorder](../../../javax/swing/border/AbstractBorder.html#paintBorder%28java.awt.Component, java.awt.Graphics, int, int, int, int%29)(Component c,Graphics g, int x, int y, int width, int height) This default implementation does no painting.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, [wait](../../../java/lang/Object.html#wait%28long, int%29)
Constructor Detail

AbstractBorder

public AbstractBorder()

Method Detail

paintBorder

public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)

This default implementation does no painting.

Specified by:

[paintBorder](../../../javax/swing/border/Border.html#paintBorder%28java.awt.Component, java.awt.Graphics, int, int, int, int%29) in interface [Border](../../../javax/swing/border/Border.html "interface in javax.swing.border")

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)

This default implementation returns a new Insets instance where the top, left,bottom, and right fields are set to 0.

Specified by:

[getBorderInsets](../../../javax/swing/border/Border.html#getBorderInsets%28java.awt.Component%29) in interface [Border](../../../javax/swing/border/Border.html "interface in javax.swing.border")

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)

Reinitializes the insets parameter with this Border's current Insets.

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()

This default implementation returns false.

Specified by:

[isBorderOpaque](../../../javax/swing/border/Border.html#isBorderOpaque%28%29) in interface [Border](../../../javax/swing/border/Border.html "interface in javax.swing.border")

Returns:

false


getInteriorRectangle

public Rectangle getInteriorRectangle(Component c, int x, int y, int width, int height)

This convenience method calls the static method.

Parameters:

c - the component for which this border is being computed

x - the x position of the border

y - the y position of the border

width - the width of the border

height - the height of the border

Returns:

a Rectangle containing the interior coordinates


getInteriorRectangle

public static Rectangle getInteriorRectangle(Component c, 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.

Parameters:

c - the component for which this border is being computed

b - the Border object

x - the x position of the border

y - the y position of the border

width - the width of the border

height - the height of the border

Returns:

a Rectangle containing the interior coordinates


getBaseline

public int getBaseline(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.

Parameters:

c - Component baseline is being requested for

width - the width to get the baseline for

height - the height to get the baseline for

Returns:

the baseline or < 0 indicating there is no reasonable baseline

Throws:

[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang") - if width or height is < 0

Since:

1.6

See Also:

[Component.getBaseline(int,int)](../../../java/awt/Component.html#getBaseline%28int, int%29), Component.getBaselineResizeBehavior()


getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(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 returnsBaselineResizeBehavior.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 usinggetBaseline 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 ifgetBaseline returns a value less than 0.

Parameters:

c - Component to return baseline resize behavior for

Returns:

an enum indicating how the baseline changes as the border is resized

Since:

1.6

See Also:

[Component.getBaseline(int,int)](../../../java/awt/Component.html#getBaseline%28int, int%29), Component.getBaselineResizeBehavior()



Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Scripting on this page tracks web page traffic, but does not change the content in any way.