Class AbstractBorder
- java.lang.Object
-
- 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, StrokeBorder, 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 JavaBeans™ has been added to the
java.beans
package. Please seeXMLEncoder
.
-
-
Constructor Summary
Constructors Constructor and Description AbstractBorder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description int
getBaseline(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 newInsets
object that is initialized by thegetBorderInsets(Component,Insets)
method.Insets
getBorderInsets(Component c, Insets insets)
Reinitializes the insets parameter with this Border's current Insets.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.Rectangle
getInteriorRectangle(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(Component c, Graphics g, int x, int y, int width, int height)
This default implementation does no painting.
-
-
-
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
in interfaceBorder
- 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 newInsets
object that is initialized by thegetBorderInsets(Component,Insets)
method. By default thetop
,left
,bottom
, andright
fields are set to0
.- Specified by:
-
getBorderInsets
in interfaceBorder
- Parameters:
-
c
- the component for which this border insets value applies - Returns:
-
a new
Insets
object
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
in interfaceBorder
- 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
- theBorder
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
- if width or height is < 0 - Since:
- 1.6
- See Also:
-
Component.getBaseline(int,int)
,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 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 usinggetBaseline
and if a value >= 0 is returned use this method. It is acceptable for this method to return a value other thanBaselineResizeBehavior.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)
,Component.getBaselineResizeBehavior()
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.