LineBorderpublic class LineBorder extends AbstractBorder A class which implements a line border of arbitrary thickness
and of a single color.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see {@link java.beans.XMLEncoder}. |
Fields Summary |
---|
private static Border | blackLine | private static Border | grayLine | protected int | thickness | protected Color | lineColor | protected boolean | roundedCorners |
Constructors Summary |
---|
public LineBorder(Color color)Creates a line border with the specified color and a
thickness = 1.
this(color, 1, false);
| public LineBorder(Color color, int thickness)Creates a line border with the specified color and thickness.
this(color, thickness, false);
| public LineBorder(Color color, int thickness, boolean roundedCorners)Creates a line border with the specified color, thickness,
and corner shape.
lineColor = color;
this.thickness = thickness;
this.roundedCorners = roundedCorners;
|
Methods Summary |
---|
public static javax.swing.border.Border | createBlackLineBorder()Convenience method for getting the Color.black LineBorder of thickness 1.
if (blackLine == null) {
blackLine = new LineBorder(Color.black, 1);
}
return blackLine;
| public static javax.swing.border.Border | createGrayLineBorder()Convenience method for getting the Color.gray LineBorder of thickness 1.
if (grayLine == null) {
grayLine = new LineBorder(Color.gray, 1);
}
return grayLine;
| public java.awt.Insets | getBorderInsets(java.awt.Component c)Returns the insets of the border.
return new Insets(thickness, thickness, thickness, thickness);
| public java.awt.Insets | getBorderInsets(java.awt.Component c, java.awt.Insets insets)Reinitialize the insets parameter with this Border's current Insets.
insets.left = insets.top = insets.right = insets.bottom = thickness;
return insets;
| public java.awt.Color | getLineColor()Returns the color of the border.
return lineColor;
| public boolean | getRoundedCorners()Returns whether this border will be drawn with rounded corners.
return roundedCorners;
| public int | getThickness()Returns the thickness of the border.
return thickness;
| public boolean | isBorderOpaque()Returns whether or not the border is opaque.
return !roundedCorners;
| public void | paintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)Paints the border for the specified component with the
specified position and size.
Color oldColor = g.getColor();
int i;
/// PENDING(klobad) How/should do we support Roundtangles?
g.setColor(lineColor);
for(i = 0; i < thickness; i++) {
if(!roundedCorners)
g.drawRect(x+i, y+i, width-i-i-1, height-i-i-1);
else
g.drawRoundRect(x+i, y+i, width-i-i-1, height-i-i-1, thickness, thickness);
}
g.setColor(oldColor);
|
|