javax.swing.border

Class CompoundBorder

public class CompoundBorder extends AbstractBorder

A Border that is composed of an interior and an exterior border, where the interior border is tightly nested into the exterior.
Field Summary
protected BorderinsideBorder
The inside border, which is painted between the bordered Component and the outside border.
protected BorderoutsideBorder
The outside border, which is painted outside both the bordered Component and the inside border.
Constructor Summary
CompoundBorder()
Constructs a CompoundBorder whose inside and outside borders are both null.
CompoundBorder(Border outsideBorder, Border insideBorder)
Constructs a CompoundBorder with the specified inside and outside borders.
Method Summary
InsetsgetBorderInsets(Component c, Insets insets)
Changes the specified insets to the insets of this border, which is the sum of the insets of the inside and the outside border.
InsetsgetBorderInsets(Component c)
Determines the insets of this border, which is the sum of the insets of the inside and the outside border.
BordergetInsideBorder()
Returns the inside border, which is painted between the bordered Component and the outside border.
BordergetOutsideBorder()
Returns the outside border, which is painted outside both the bordered Component and the inside border.
booleanisBorderOpaque()
Determines whether or not this border is opaque.
voidpaintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the compound border by first painting the outside border, then painting the inside border tightly nested into the outside.

Field Detail

insideBorder

protected Border insideBorder
The inside border, which is painted between the bordered Component and the outside border. It is valid for insideBorder to be null.

outsideBorder

protected Border outsideBorder
The outside border, which is painted outside both the bordered Component and the inside border. It is valid for outsideBorder to be null.

Constructor Detail

CompoundBorder

public CompoundBorder()
Constructs a CompoundBorder whose inside and outside borders are both null. While this does not really make any sense (there exists a class EmptyBorder as well, and not every Component needs to have a border at all), the API specification requires the existence of this constructor.

See Also: EmptyBorder

CompoundBorder

public CompoundBorder(Border outsideBorder, Border insideBorder)
Constructs a CompoundBorder with the specified inside and outside borders.

Parameters: outsideBorder the outside border, which is painted to the outside of both insideBorder and the enclosed component. It is acceptable to pass null, in which case no outside border is painted. insideBorder the inside border, which is painted to between outsideBorder and the enclosed component. It is acceptable to pass null, in which case no inside border is painted.

Method Detail

getBorderInsets

public Insets getBorderInsets(Component c, Insets insets)
Changes the specified insets to the insets of this border, which is the sum of the insets of the inside and the outside border.

Parameters: c the component in the center of this border. insets an Insets object for holding the added insets.

Returns: the insets object.

getBorderInsets

public Insets getBorderInsets(Component c)
Determines the insets of this border, which is the sum of the insets of the inside and the outside border.

Parameters: c the component in the center of this border.

getInsideBorder

public Border getInsideBorder()
Returns the inside border, which is painted between the bordered Component and the outside border. It is valid for the result to be null.

Returns: The inside border (possibly null).

getOutsideBorder

public Border getOutsideBorder()
Returns the outside border, which is painted outside both the bordered Component and the inside border. It is valid for the result to be null.

Returns: The outside border (possibly null).

isBorderOpaque

public boolean isBorderOpaque()
Determines whether or not this border is opaque. An opaque border fills every pixel in its area when painting. Partially translucent borders must return false, or ugly artifacts can appear on screen.

Returns: true if both the inside and outside borders are opaque, or false otherwise.

paintBorder

public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the compound border by first painting the outside border, then painting the inside border tightly nested into the outside.

Parameters: c the component whose border is to be painted. g the graphics for painting. x the horizontal position for painting the border. y the vertical position for painting the border. width the width of the available area for painting the border. height the height of the available area for painting the border.