javax.swing.plaf

Class BorderUIResource

public class BorderUIResource extends Object implements Border, UIResource, Serializable

A wrapper for {@link javax.swing.border.Border} that also implements the {@link UIResource} marker interface. This is useful for implementing pluggable look-and-feels: When switching the current LookAndFeel, only those borders are replaced that are marked as {@link UIResource}. For this reason, a look-and-feel should always install borders that implement UIResource, such as the borders provided by this class.

Serialized Fields: delegate Border the Border wrapped

Serial:

Nested Class Summary
static classBorderUIResource.BevelBorderUIResource
A {@link javax.swing.border.BevelBorder} that also implements the {@link UIResource} marker interface.
static classBorderUIResource.CompoundBorderUIResource
A {@link javax.swing.border.CompoundBorder} that also implements the {@link UIResource} marker interface.
static classBorderUIResource.EmptyBorderUIResource
An {@link javax.swing.border.EmptyBorder} that also implements the {@link UIResource} marker interface.
static classBorderUIResource.EtchedBorderUIResource
An {@link javax.swing.border.EtchedBorder} that also implements the {@link UIResource} marker interface.
static classBorderUIResource.LineBorderUIResource
A {@link javax.swing.border.LineBorder} that also implements the {@link UIResource} marker interface.
static classBorderUIResource.MatteBorderUIResource
A {@link javax.swing.border.MatteBorder} that also implements the {@link UIResource} marker interface.
static classBorderUIResource.TitledBorderUIResource
A {@link javax.swing.border.TitledBorder} that also implements the {@link UIResource} marker interface.
Constructor Summary
BorderUIResource(Border delegate)
Constructs a BorderUIResource for wrapping a Border object.
Method Summary
static BordergetBlackLineBorderUIResource()
Returns a shared instance of {@link LineBorderUIResource} for a black, one-pixel width border.
InsetsgetBorderInsets(Component c)
Measures the width of this border by calling the getBorderInsets method of the wrapped delegate.
static BordergetEtchedBorderUIResource()
Returns a shared instance of an etched border which also is marked as an {@link UIResource}.
static BordergetLoweredBevelBorderUIResource()
Returns a shared instance of {@link BevelBorderUIResource} whose bevelType is {@link javax.swing.border.BevelBorder#LOWERED}.
static BordergetRaisedBevelBorderUIResource()
Returns a shared instance of {@link BevelBorderUIResource} whose bevelType is {@link javax.swing.border.BevelBorder#RAISED}.
booleanisBorderOpaque()
Determines whether this border fills every pixel in its area when painting by calling the isBorderOpaque method of the wrapped delegate.
voidpaintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the border around an enclosed component by calling the paintBorder method of the wrapped delegate.

Constructor Detail

BorderUIResource

public BorderUIResource(Border delegate)
Constructs a BorderUIResource for wrapping a Border object.

Parameters: delegate the border to be wrapped.

Method Detail

getBlackLineBorderUIResource

public static Border getBlackLineBorderUIResource()
Returns a shared instance of {@link LineBorderUIResource} for a black, one-pixel width border.

See Also: LineBorder

getBorderInsets

public Insets getBorderInsets(Component c)
Measures the width of this border by calling the getBorderInsets method of the wrapped delegate.

Parameters: c the component whose border is to be measured.

Returns: an Insets object whose left, right, top and bottom fields indicate the width of the border at the respective edge.

getEtchedBorderUIResource

public static Border getEtchedBorderUIResource()
Returns a shared instance of an etched border which also is marked as an {@link UIResource}.

See Also: EtchedBorder

getLoweredBevelBorderUIResource

public static Border getLoweredBevelBorderUIResource()
Returns a shared instance of {@link BevelBorderUIResource} whose bevelType is {@link javax.swing.border.BevelBorder#LOWERED}.

See Also: BevelBorder

getRaisedBevelBorderUIResource

public static Border getRaisedBevelBorderUIResource()
Returns a shared instance of {@link BevelBorderUIResource} whose bevelType is {@link javax.swing.border.BevelBorder#RAISED}.

See Also: BevelBorder

isBorderOpaque

public boolean isBorderOpaque()
Determines whether this border fills every pixel in its area when painting by calling the isBorderOpaque method of the wrapped delegate.

Returns: true if the border is fully opaque, or false if some pixels of the background can shine through the border.

paintBorder

public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the border around an enclosed component by calling the paintBorder method of the wrapped delegate.

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.