javax.swing.border

Class MatteBorder

Implemented Interfaces:
Border, Serializable
Known Direct 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(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.
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(Icon tileIcon)
Constructs a MatteBorder given 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.EmptyBorder

getBorderInsets, getBorderInsets, getBorderInsets, isBorderOpaque, paintBorder

Methods inherited from class javax.swing.border.AbstractBorder

getBorderInsets, getBorderInsets, getInteriorRectangle, getInteriorRectangle, isBorderOpaque, paintBorder

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

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 Details

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(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,
                   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(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 Details

getBorderInsets

public Insets getBorderInsets()
Measures the width of this border.
Overrides:
getBorderInsets in interface EmptyBorder
Returns:
an Insets object whose left, right, top and bottom fields indicate the width of the border at the respective edge.

getBorderInsets

public Insets getBorderInsets(Component c)
Measures the width of this border.
Specified by:
getBorderInsets in interface Border
Overrides:
getBorderInsets in interface 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.

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 interface 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.
Returns:
the same object that was passed for 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 interface 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.

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 interface 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.

MatteBorder.java -- Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.