javax.swing.border

Class AbstractBorder

Implemented Interfaces:
Border, Serializable
Known Direct Subclasses:
BasicBorders.ButtonBorder, BasicBorders.FieldBorder, BasicBorders.MarginBorder, BasicBorders.MenuBarBorder, BevelBorder, CompoundBorder, EmptyBorder, EtchedBorder, LineBorder, MetalBorders.ButtonBorder, MetalBorders.Flush3DBorder, MetalBorders.InternalFrameBorder, MetalBorders.MenuBarBorder, MetalBorders.MenuItemBorder, MetalBorders.OptionDialogBorder, MetalBorders.PaletteBorder, MetalBorders.PopupMenuBorder, MetalBorders.ScrollPaneBorder, MetalBorders.TableHeaderBorder, MetalBorders.ToolBarBorder, TitledBorder

public abstract class AbstractBorder
extends Object
implements Border, Serializable

An invisible zero-width border, serving as a base class for implementing more interesting borders.
See Also:
Serialized Form

Constructor Summary

AbstractBorder()
Constructs a new AbstractBorder.

Method Summary

Insets
getBorderInsets(Component c)
Returns the insets required for drawing this border around the specified component.
Insets
getBorderInsets(Component c, Insets insets)
Returns the insets required for drawing this border around the specified component.
Rectangle
getInteriorRectangle(Component c, int x, int y, int width, int height)
Returns a rectangle that covers the specified area minus the insets required to draw this border.
static Rectangle
getInteriorRectangle(Component c, Border b, int x, int y, int width, int height)
Returns a rectangle that covers the specified area minus the insets required to draw the specified border (if the border is null, zero insets are assumed).
boolean
isBorderOpaque()
Determines whether or not this border is opaque.
void
paintBorder(Component c, Graphics g, int x, int y, int width, int height)
Performs nothing, because the default implementation provided by this class is an invisible, zero-width border.

Methods inherited from class java.lang.Object

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

Constructor Details

AbstractBorder

public AbstractBorder()
Constructs a new AbstractBorder.

Method Details

getBorderInsets

public Insets getBorderInsets(Component c)
Returns the insets required for drawing this border around the specified component.
Specified by:
getBorderInsets in interface Border
Parameters:
c - the component that the border applies to (ignored here, subclasses may use it).
Returns:
an Insets object whose left, right, top and bottom fields indicate the width of the border at the respective edge, which is zero for the default implementation provided by AbstractButton.

getBorderInsets

public Insets getBorderInsets(Component c,
                              Insets insets)
Returns the insets required for drawing this border around the specified component. The default implementation provided here sets the left, right, top and bottom fields of the passed insets parameter to zero.
Parameters:
c - the component that the border applies to (ignored here, subclasses may use it).
insets - an instance that will be overwritten and returned as the result (null not permitted).
Returns:
The border insets (the same object that was passed as the insets argument).
Throws:
NullPointerException - if insets is null.

getInteriorRectangle

public Rectangle getInteriorRectangle(Component c,
                                      int x,
                                      int y,
                                      int width,
                                      int height)
Returns a rectangle that covers the specified area minus the insets required to draw this border. Components that wish to determine an area into which they can safely draw without intersecting with a border might want to use this helper method.
Parameters:
c - the component in the center of this border.
x - the horizontal position of the border.
y - the vertical position of the border.
width - the width of the available area for the border.
height - the height of the available area for the border.
Returns:
The interior rectangle.

getInteriorRectangle

public static Rectangle getInteriorRectangle(Component c,
                                             Border b,
                                             int x,
                                             int y,
                                             int width,
                                             int height)
Returns a rectangle that covers the specified area minus the insets required to draw the specified border (if the border is null, zero insets are assumed). Components that wish to determine an area into which they can safely draw without intersecting with a border might want to use this helper method.
Parameters:
c - the component in the center of this border.
b - the border (null permitted).
x - the horizontal position of the border.
y - the vertical position of the border.
width - the width of the available area for the border.
height - the height of the available area for the border.
Returns:
The interior rectangle.

isBorderOpaque

public boolean isBorderOpaque()
Determines whether or not this border is opaque. An opaque border fills every pixel in its area when painting. Partially translucent borders must return false, or ugly artifacts can appear on screen. The default implementation provided here always returns false.
Specified by:
isBorderOpaque in interface Border
Returns:
false.

paintBorder

public void paintBorder(Component c,
                        Graphics g,
                        int x,
                        int y,
                        int width,
                        int height)
Performs nothing, because the default implementation provided by this class is an invisible, zero-width border. Subclasses will likely want to override this method, but they are not required to do so.
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.

AbstractBorder.java -- Copyright (C) 2003, 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.