javax.swing.plaf
Class BorderUIResource

java.lang.Object
  extended by javax.swing.plaf.BorderUIResource
All Implemented Interfaces:
Serializable, Border, UIResource

public class BorderUIResource
extends Object
implements Border, UIResource, Serializable

A wrapper for Border that also implements the BorderUIResource.BevelBorderUIResource 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 BorderUIResource.BevelBorderUIResource. For this reason, a look-and-feel should always install borders that implement UIResource, such as the borders provided by this class.

See Also:
Serialized Form

Nested Class Summary
static class BorderUIResource.BevelBorderUIResource
          A BevelBorder that also implements the UIResource marker interface.
static class BorderUIResource.CompoundBorderUIResource
          A CompoundBorder that also implements the UIResource marker interface.
static class BorderUIResource.EmptyBorderUIResource
          An EmptyBorder that also implements the UIResource marker interface.
static class BorderUIResource.EtchedBorderUIResource
          An EtchedBorder that also implements the UIResource marker interface.
static class BorderUIResource.LineBorderUIResource
          A LineBorder that also implements the UIResource marker interface.
static class BorderUIResource.MatteBorderUIResource
          A MatteBorder that also implements the UIResource marker interface.
static class BorderUIResource.TitledBorderUIResource
          A TitledBorder that also implements the UIResource marker interface.
 
Constructor Summary
BorderUIResource(Border delegate)
          Constructs a BorderUIResource for wrapping a Border object.
 
Method Summary
static Border getBlackLineBorderUIResource()
          Returns a shared instance of BorderUIResource.LineBorderUIResource for a black, one-pixel width border.
 Insets getBorderInsets(Component c)
          Measures the width of this border by calling the getBorderInsets method of the wrapped delegate.
static Border getEtchedBorderUIResource()
          Returns a shared instance of an etched border which also is marked as an BorderUIResource.BevelBorderUIResource.
static Border getLoweredBevelBorderUIResource()
          Returns a shared instance of BorderUIResource.BevelBorderUIResource whose bevelType is BevelBorder.LOWERED.
static Border getRaisedBevelBorderUIResource()
          Returns a shared instance of BorderUIResource.BevelBorderUIResource whose bevelType is BevelBorder.RAISED.
 boolean isBorderOpaque()
          Determines whether this border fills every pixel in its area when painting by calling the isBorderOpaque method of the wrapped delegate.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BorderUIResource

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

Parameters:
delegate - the border to be wrapped.
Method Detail

getEtchedBorderUIResource

public static Border getEtchedBorderUIResource()
Returns a shared instance of an etched border which also is marked as an BorderUIResource.BevelBorderUIResource.

See Also:
EtchedBorder

getLoweredBevelBorderUIResource

public static Border getLoweredBevelBorderUIResource()
Returns a shared instance of BorderUIResource.BevelBorderUIResource whose bevelType is BevelBorder.LOWERED.

See Also:
BevelBorder

getRaisedBevelBorderUIResource

public static Border getRaisedBevelBorderUIResource()
Returns a shared instance of BorderUIResource.BevelBorderUIResource whose bevelType is BevelBorder.RAISED.

See Also:
BevelBorder

getBlackLineBorderUIResource

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

See Also:
LineBorder

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.

Specified by:
paintBorder in interface Border
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.

getBorderInsets

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

Specified by:
getBorderInsets in interface Border
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.

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.

Specified by:
isBorderOpaque in interface Border
Returns:
true if the border is fully opaque, or false if some pixels of the background can shine through the border.