Class CompoundBorder
java.lang.Object
javax.swing.border.AbstractBorder
javax.swing.border.CompoundBorder
- All Implemented Interfaces:
Serializable, Border
- Direct Known Subclasses:
BorderUIResource.CompoundBorderUIResource
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 see XMLEncoder.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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
Modifier and TypeMethodDescriptiongetBorderInsets(Component c, Insets insets) Reinitialize the insets parameter with this Border's current Insets.Returns the inside border object.Returns the outside border object.booleanReturns whether or not the compound border is opaque.voidpaintBorder(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 AbstractBorder
getBaseline, getBaselineResizeBehavior, getBorderInsets, getInteriorRectangle, getInteriorRectangleModifier 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 theAbstractBorder.getBorderInsets(Component,Insets)method.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.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Field Details
-
outsideBorder
The outside border. -
insideBorder
The inside border.
-
-
Constructor Details
-
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 Details
-
isBorderOpaque
public boolean isBorderOpaque()Returns whether or not the compound border is opaque.- Specified by:
isBorderOpaquein interfaceBorder- Overrides:
isBorderOpaquein classAbstractBorder- Returns:
trueif the inside and outside borders are each eithernullor opaque; orfalseotherwise
-
paintBorder
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:
paintBorderin interfaceBorder- Overrides:
paintBorderin 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
Reinitialize the insets parameter with this Border's current Insets.- Overrides:
getBorderInsetsin classAbstractBorder- Parameters:
c- the component for which this border insets value appliesinsets- the object to be reinitialized- Returns:
- the
insetsobject - Throws:
NullPointerException- if the specifiedinsetsisnull
-
getOutsideBorder
Returns the outside border object.- Returns:
- the outside
Borderobject
-
getInsideBorder
-