CompoundBorder (Java 2 Platform SE 5.0) (original) (raw)


javax.swing.border

Class CompoundBorder

java.lang.Object extended by javax.swing.border.AbstractBorder extended by 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 JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.


Field Summary
protected Border insideBorder
protected Border outsideBorder
Constructor Summary
CompoundBorder() Creates a compound border with null outside and inside borders.
[CompoundBorder](../../../javax/swing/border/CompoundBorder.html#CompoundBorder%28javax.swing.border.Border, javax.swing.border.Border%29)(Border outsideBorder,Border insideBorder) Creates a compound border with the specified outside and inside borders.
Method Summary
Insets getBorderInsets(Component c) Returns the insets of the composite border by adding the insets of the outside border to the insets of the inside border.
Insets [getBorderInsets](../../../javax/swing/border/CompoundBorder.html#getBorderInsets%28java.awt.Component, java.awt.Insets%29)(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 this compound border is opaque.
void [paintBorder](../../../javax/swing/border/CompoundBorder.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) 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 inherited from class javax.swing.border.AbstractBorder
[getInteriorRectangle](../../../javax/swing/border/AbstractBorder.html#getInteriorRectangle%28java.awt.Component, javax.swing.border.Border, int, int, int, int%29), [getInteriorRectangle](../../../javax/swing/border/AbstractBorder.html#getInteriorRectangle%28java.awt.Component, int, int, int, int%29)
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)
Field Detail

outsideBorder

protected Border outsideBorder


insideBorder

protected Border insideBorder

Constructor Detail

CompoundBorder

public CompoundBorder()

Creates a compound border with null outside and inside borders.


CompoundBorder

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 border

insideBorder - the inside border to be nested

Method Detail

isBorderOpaque

public boolean isBorderOpaque()

Returns whether or not this compound border is opaque. Returns true if both the inside and outside borders are non-null and opaque; returns false otherwise.

Specified by:

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

Overrides:

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

Returns:

false


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](../../../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")

Overrides:

[paintBorder](../../../javax/swing/border/AbstractBorder.html#paintBorder%28java.awt.Component, java.awt.Graphics, int, int, int, int%29) in class [AbstractBorder](../../../javax/swing/border/AbstractBorder.html "class 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, Insets insets)

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

Overrides:

[getBorderInsets](../../../javax/swing/border/AbstractBorder.html#getBorderInsets%28java.awt.Component, java.awt.Insets%29) in class [AbstractBorder](../../../javax/swing/border/AbstractBorder.html "class in javax.swing.border")

Parameters:

c - the component for which this border insets value applies

insets - the object to be reinitialized

Returns:

the insets object


getBorderInsets

public Insets getBorderInsets(Component c)

Returns the insets of the composite border by adding the insets of the outside border to the insets of the inside border.

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

Overrides:

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

Parameters:

c - the component for which this border insets value applies

Returns:

the new Insets object initialized to 0


getOutsideBorder

public Border getOutsideBorder()

Returns the outside border object.


getInsideBorder

public Border getInsideBorder()

Returns the inside border object.



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

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