javax.swing.plaf.metal

Class MetalBorders.ButtonBorder

Enclosing Class:
MetalBorders
Implemented Interfaces:
Border, Serializable, UIResource
Known Direct Subclasses:
MetalBorders.RolloverButtonBorder, MetalBorders.ToggleButtonBorder

public static class MetalBorders.ButtonBorder
extends AbstractBorder
implements UIResource

A border used for JButton components.

This Border implementation can handle only instances of AbstractButton and their subclasses.

If the Metal Look and Feel's current theme is 'Ocean' the border will be painted with a special highlight when the mouse cursor if over the button (ie. the property rollover of the button's model is true) and is not a direct child of a JToolBar.

See Also:
Serialized Form

Field Summary

protected static Insets
borderInsets
The borders insets.

Constructor Summary

ButtonBorder()
Creates a new instance of ButtonBorder.

Method Summary

Insets
getBorderInsets(Component c)
Returns the insets of the ButtonBorder.
Insets
getBorderInsets(Component c, Insets newInsets)
Returns the insets of the ButtonBorder in the specified newInsets object.
void
paintBorder(Component c, Graphics g, int x, int y, int w, int h)
Paints the button border.

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

borderInsets

protected static Insets borderInsets
The borders insets.

Constructor Details

ButtonBorder

public ButtonBorder()
Creates a new instance of ButtonBorder.

Method Details

getBorderInsets

public Insets getBorderInsets(Component c)
Returns the insets of the ButtonBorder.
Specified by:
getBorderInsets in interface Border
Overrides:
getBorderInsets in interface AbstractBorder
Parameters:
c - the component for which the border is used (ignored).
Returns:
The insets of the ButtonBorder.

getBorderInsets

public Insets getBorderInsets(Component c,
                              Insets newInsets)
Returns the insets of the ButtonBorder in the specified newInsets object.
Overrides:
getBorderInsets in interface AbstractBorder
Parameters:
c - the component for which the border is used (ignored).
newInsets - the insets object where to put the values ( null not permitted).
Returns:
The newInsets reference.

paintBorder

public void paintBorder(Component c,
                        Graphics g,
                        int x,
                        int y,
                        int w,
                        int h)
Paints the button border.
Specified by:
paintBorder in interface Border
Overrides:
paintBorder in interface AbstractBorder
Parameters:
c - the component for which we paint the border
g - the Graphics context to use
x - the X coordinate of the upper left corner of c
y - the Y coordinate of the upper left corner of c
w - the width of c
h - the height of c

MetalBorders.java Copyright (C) 2005, 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.