Class 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,StrokeBorder,TitledBorder
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 JavaBeans
has been added to the java.beans package.
Please see XMLEncoder.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetBaseline(Component c, int width, int height) Returns the baseline.Returns an enum indicating how the baseline of a component changes as the size changes.This default implementation returns a newInsetsobject that is initialized by thegetBorderInsets(Component,Insets)method.getBorderInsets(Component c, Insets insets) Reinitializes the insets parameter with this Border's current Insets.getInteriorRectangle(Component c, int x, int y, int width, int height) This convenience method calls the static method.static RectanglegetInteriorRectangle(Component c, Border b, int x, int y, int width, int height) Returns a rectangle using the arguments minus the insets of the border.booleanThis default implementation returns false.voidpaintBorder(Component c, Graphics g, int x, int y, int width, int height) This default implementation does no painting.
-
Constructor Details
-
AbstractBorder
protected AbstractBorder()Constructor for subclasses to call.
-
-
Method Details
-
paintBorder
This default implementation does no painting.- Specified by:
paintBorderin interfaceBorder- Parameters:
c- the component for which this border is being paintedg- the paint graphicsx- the x position of the painted bordery- the y position of the painted borderwidth- the width of the painted borderheight- the height of the painted border
-
getBorderInsets
This default implementation returns a newInsetsobject that is initialized by thegetBorderInsets(Component,Insets)method. By default thetop,left,bottom, andrightfields are set to0.- Specified by:
getBorderInsetsin interfaceBorder- Parameters:
c- the component for which this border insets value applies- Returns:
- a new
Insetsobject
-
getBorderInsets
Reinitializes the insets parameter with this Border's current Insets.- Parameters:
c- the component for which this border insets value appliesinsets- the object to be reinitialized- Returns:
- the
insetsobject - Throws:
NullPointerException- if the specifiedinsetsisnull
-
isBorderOpaque
public boolean isBorderOpaque()This default implementation returns false.- Specified by:
isBorderOpaquein interfaceBorder- Returns:
- false
-
getInteriorRectangle
This convenience method calls the static method.- Parameters:
c- the component for which this border is being computedx- the x position of the bordery- the y position of the borderwidth- the width of the borderheight- the height of the border- Returns:
- a
Rectanglecontaining 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 computedb- theBorderobjectx- the x position of the bordery- the y position of the borderwidth- the width of the borderheight- the height of the border- Returns:
- a
Rectanglecontaining the interior coordinates
-
getBaseline
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
getBaselineResizeBehaviorcan be used to determine how the baseline changes with size.- Parameters:
c-Componentbaseline is being requested forwidth- the width to get the baseline forheight- the height to get the baseline for- Returns:
- the baseline or < 0 indicating there is no reasonable baseline
- Throws:
IllegalArgumentException- if width or height is < 0- Since:
- 1.6
- See Also:
-
getBaselineResizeBehavior
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 returnnull; if the baseline can not be calculated returnBaselineResizeBehavior.OTHER. Callers should first ask for the baseline usinggetBaselineand if a value >= 0 is returned use this method. It is acceptable for this method to return a value other thanBaselineResizeBehavior.OTHEReven ifgetBaselinereturns a value less than 0.- Parameters:
c-Componentto return baseline resize behavior for- Returns:
- an enum indicating how the baseline changes as the border is resized
- Throws:
NullPointerException- ifComponentisnull- Since:
- 1.6
- See Also:
-