javax.swing.border
Class MatteBorder

java.lang.Object
  extended by javax.swing.border.AbstractBorder
      extended by javax.swing.border.EmptyBorder
          extended by javax.swing.border.MatteBorder
All Implemented Interfaces:
Serializable, Border
Direct Known Subclasses:
BorderUIResource.MatteBorderUIResource

public class MatteBorder
extends EmptyBorder

A border that is filled with either a solid color or with repeated icon tiles.

[Two MatteBorders]

See Also:
Serialized Form

Field Summary
protected  Color color
          The color that is used for filling the border, or null if the border is filled with repetitions of a tile icon.
protected  Icon tileIcon
          The icon is used for filling the border with a tile, or null if the border is filled with a solid color.
 
Fields inherited from class javax.swing.border.EmptyBorder
bottom, left, right, top
 
Constructor Summary
MatteBorder(Icon tileIcon)
          Constructs a MatteBorder given an icon for tiling the border area.
MatteBorder(Insets borderInsets, Color matteColor)
          Constructs a MatteBorder given its insets and fill color.
MatteBorder(Insets borderInsets, Icon tileIcon)
          Constructs a MatteBorder given its insets and an icon for tiling the border area.
MatteBorder(int top, int left, int bottom, int right, Color matteColor)
          Constructs a MatteBorder given the width on each side and a fill color.
MatteBorder(int top, int left, int bottom, int right, Icon tileIcon)
          Constructs a MatteBorder given the width on each side and an icon for tiling the border area.
 
Method Summary
 Insets getBorderInsets()
          Measures the width of this border.
 Insets getBorderInsets(Component c)
          Measures the width of this border.
 Insets getBorderInsets(Component c, Insets insets)
          Measures the width of this border, storing the results into a pre-existing Insets object.
 Color getMatteColor()
          Returns the color that is used for filling the border, or null if the border is filled with repetitions of a tile icon.
 Icon getTileIcon()
          Returns the icon is used for tiling the border, or null if the border is filled with a color instead of an icon.
 boolean isBorderOpaque()
          Determines whether this border fills every pixel in its area when painting.
 void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
          Paints the border for a given component.
 
Methods inherited from class javax.swing.border.AbstractBorder
getInteriorRectangle, getInteriorRectangle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

color

protected Color color
The color that is used for filling the border, or null if the border is filled with repetitions of a tile icon.

See Also:
tileIcon

tileIcon

protected Icon tileIcon
The icon is used for filling the border with a tile, or null if the border is filled with a solid color.

See Also:
color
Constructor Detail

MatteBorder

public MatteBorder(int top,
                   int left,
                   int bottom,
                   int right,
                   Color matteColor)
Constructs a MatteBorder given the width on each side and a fill color.

[A picture of a MatteBorder made by this constructor]

Parameters:
top - the width of the border at its top edge.
left - the width of the border at its left edge.
bottom - the width of the border at its bottom edge.
right - the width of the border at its right edge.
matteColor - the color for filling the border.

MatteBorder

public MatteBorder(Insets borderInsets,
                   Color matteColor)
Constructs a MatteBorder given its insets and fill color.

[A picture of a MatteBorder made by this constructor]

Parameters:
borderInsets - an Insets object whose top, left, bottom and right fields indicate the with of the border at the respective edge.
matteColor - the color for filling the border.

MatteBorder

public MatteBorder(int top,
                   int left,
                   int bottom,
                   int right,
                   Icon tileIcon)
Constructs a MatteBorder given the width on each side and an icon for tiling the border area.

[A picture of a MatteBorder made by this constructor]

Parameters:
top - the width of the border at its top edge.
left - the width of the border at its left edge.
bottom - the width of the border at its bottom edge.
right - the width of the border at its right edge.
tileIcon - an icon for tiling the border area.

MatteBorder

public MatteBorder(Insets borderInsets,
                   Icon tileIcon)
Constructs a MatteBorder given its insets and an icon for tiling the border area.

[A picture of a MatteBorder made by this constructor]

Parameters:
borderInsets - an Insets object whose top, left, bottom and right fields indicate the with of the border at the respective edge.
tileIcon - an icon for tiling the border area.

MatteBorder

public MatteBorder(Icon tileIcon)
Constructs a MatteBorder given an icon for tiling the border area. The icon width is used for the border insets at the left and right edge, the icon height for the top and bottom edge.

[A picture of a MatteBorder made by this constructor]

Parameters:
tileIcon - an icon for tiling the border area.
Method Detail

paintBorder

public void paintBorder(Component c,
                        Graphics g,
                        int x,
                        int y,
                        int width,
                        int height)
Paints the border for a given component.

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

Specified by:
getBorderInsets in interface Border
Overrides:
getBorderInsets in class EmptyBorder
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.
See Also:
getBorderInsets(java.awt.Component, java.awt.Insets)

getBorderInsets

public Insets getBorderInsets(Component c,
                              Insets insets)
Measures the width of this border, storing the results into a pre-existing Insets object.

Overrides:
getBorderInsets in class EmptyBorder
Parameters:
insets - an Insets object for holding the result values. After invoking this method, the left, right, top and bottom fields indicate the width of the border at the respective edge.
c - the component that the border applies to (ignored here, subclasses may use it).
Returns:
the same object that was passed for insets.
See Also:
getBorderInsets()

getBorderInsets

public Insets getBorderInsets()
Measures the width of this border.

Overrides:
getBorderInsets in class EmptyBorder
Returns:
an Insets object whose left, right, top and bottom fields indicate the width of the border at the respective edge.
See Also:
getBorderInsets(java.awt.Component, java.awt.Insets)

getMatteColor

public Color getMatteColor()
Returns the color that is used for filling the border, or null if the border is filled with repetitions of a tile icon.

Returns:
The color (possibly null).

getTileIcon

public Icon getTileIcon()
Returns the icon is used for tiling the border, or null if the border is filled with a color instead of an icon.

Returns:
The icon (possibly null).

isBorderOpaque

public boolean isBorderOpaque()
Determines whether this border fills every pixel in its area when painting.

Specified by:
isBorderOpaque in interface Border
Overrides:
isBorderOpaque in class EmptyBorder
Returns:
true if the border is filled with an opaque color; false if it is filled with a semi-transparent color or with an icon.