javax.swing.plaf.basic
Class BasicBorders.RadioButtonBorder
- BasicBorders
- Border, Serializable, UIResource
A border for drawing radio buttons in the Basic look and feel.
Note about the screen shot: Normally, the
borderPainted
property is
false
for
JRadioButtons. For this screen shot, it has been set to
true
so the borders get drawn. Also, a
concretization of the Basic look and would typically provide
icons for the various states of radio buttons.
Note that the focus rectangle is invisible If the radio button
is currently selected. While it might be debatable whether this
makes a lot of sense, this behavior can be observed in the Sun
reference implementation (in JDK 1.3.1 and 1.4.1). The Classpath
implementation tries to exactly replicate the JDK appearance.
BasicGraphicsUtils.drawBezel(Graphics,int,int,int,int,boolean,boolean,Color,Color,Color,Color)
, Serialized Form
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
RadioButtonBorder
public RadioButtonBorder(Color shadow,
Color darkShadow,
Color highlight,
Color lightHighlight)
Constructs a new border for drawing a JRadioButton in
the Basic look and feel.
shadow
- the shadow color.darkShadow
- a darker variant of the shadow color.highlight
- the highlight color.lightHighlight
- a brighter variant of the highlight color.
getBorderInsets
public Insets getBorderInsets(Component c,
Insets insets)
Measures the width of this border, storing the results into a
pre-existing Insets object.
- getBorderInsets in interface BasicBorders.ButtonBorder
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.
- the same object that was passed for
insets
.
paintBorder
public void paintBorder(Component c,
Graphics g,
int x,
int y,
int width,
int height)
Paints the RadioButtonBorder around a given component.
The Sun implementation always seems to draw exactly
the same border, irrespective of the state of the button.
This is rather surprising, but GNU Classpath emulates the
observable behavior.
- paintBorder in interface Border
- paintBorder in interface BasicBorders.ButtonBorder
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.
BasicGraphicsUtils.drawBezel(Graphics,int,int,int,int,boolean,boolean,Color,Color,Color,Color)
BasicBorders.java --
Copyright (C) 2003, 2004, 2005 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.