- java.lang.Object
-
- javax.swing.border.AbstractBorder
-
- javax.swing.border.CompoundBorder
-
- All Implemented Interfaces:
Serializable
,Border
- Direct Known Subclasses:
BorderUIResource.CompoundBorderUIResource
public class CompoundBorder extends AbstractBorder
A composite Border class used to compose two Border objects into a single border by nesting an inside Border object within the insets of an outside Border object. For example, this class may be used to add blank margin space to a component with an existing decorative border:Border border = comp.getBorder(); Border margin = new EmptyBorder(10,10,10,10); comp.setBorder(new CompoundBorder(border, margin));
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
.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Border
insideBorder
The inside border.protected Border
outsideBorder
The outside border.
-
Constructor Summary
Constructors Constructor Description CompoundBorder()
Creates a compound border with null outside and inside borders.CompoundBorder(Border outsideBorder, Border insideBorder)
Creates a compound border with the specified outside and inside borders.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Insets
getBorderInsets(Component c, Insets insets)
Reinitialize the insets parameter with this Border's current Insets.Border
getInsideBorder()
Returns the inside border object.Border
getOutsideBorder()
Returns the outside border object.boolean
isBorderOpaque()
Returns whether or not the compound border is opaque.void
paintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the compound border by painting the outside border with the specified position and size and then painting the inside border at the specified position and size offset by the insets of the outside border.-
Methods declared in class javax.swing.border.AbstractBorder
getBaseline, getBaselineResizeBehavior, getBorderInsets, getInteriorRectangle, getInteriorRectangle
-
-
-
-
Constructor Detail
CompoundBorder
public CompoundBorder()
Creates a compound border with null outside and inside borders.
CompoundBorder
@ConstructorProperties({"outsideBorder","insideBorder"}) public CompoundBorder(Border outsideBorder, Border insideBorder)
Creates a compound border with the specified outside and inside borders. Either border may be null.- Parameters:
outsideBorder
- the outside borderinsideBorder
- the inside border to be nested
-
Method Detail
isBorderOpaque
public boolean isBorderOpaque()
Returns whether or not the compound border is opaque.- Specified by:
isBorderOpaque
in interfaceBorder
- Overrides:
isBorderOpaque
in classAbstractBorder
- Returns:
true
if the inside and outside borders are each eithernull
or opaque; orfalse
otherwise
paintBorder
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the compound border by painting the outside border with the specified position and size and then painting the inside border at the specified position and size offset by the insets of the outside border.- Specified by:
paintBorder
in interfaceBorder
- Overrides:
paintBorder
in classAbstractBorder
- 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
public Insets getBorderInsets(Component c, Insets insets)
Reinitialize the insets parameter with this Border's current Insets.- Overrides:
getBorderInsets
in classAbstractBorder
- Parameters:
c
- the component for which this border insets value appliesinsets
- the object to be reinitialized- Returns:
-
the
insets
object
getOutsideBorder
public Border getOutsideBorder()
Returns the outside border object.- Returns:
-
the outside
Border
object
getInsideBorder
public Border getInsideBorder()
Returns the inside border object.- Returns:
-
the inside
Border
object
-