|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--javax.swing.JComponent | +--javax.swing.AbstractButton
Defines common behaviors for buttons and menu items. For further information see How to Use Buttons, Check Boxes, and Radio Buttons, a section in The Java Tutorial.
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. A future release of Swing will provide support for long term persistence.
Inner Class Summary | |
protected class |
AbstractButton.AccessibleAbstractButton
This class implements accessibility support for the AbstractButton class. |
protected class |
AbstractButton.ButtonChangeListener
Extends ChangeListener to be serializable. |
Inner classes inherited from class javax.swing.JComponent |
JComponent.AccessibleJComponent |
Inner classes inherited from class java.awt.Container |
Container.AccessibleAWTContainer |
Inner classes inherited from class java.awt.Component |
Component.AccessibleAWTComponent |
Field Summary | |
protected ActionListener |
actionListener
The button model's ActionListener . |
static String |
BORDER_PAINTED_CHANGED_PROPERTY
Identifies a change to having the border drawn, or having it not drawn. |
protected ChangeEvent |
changeEvent
Only one ChangeEvent is needed per button
instance since the
event's only state is the source property. |
protected ChangeListener |
changeListener
The button model's changeListener . |
static String |
CONTENT_AREA_FILLED_CHANGED_PROPERTY
Identifies a change from rollover enabled to disabled or back to enabled. |
static String |
DISABLED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been disabled. |
static String |
DISABLED_SELECTED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been disabled and selected. |
static String |
FOCUS_PAINTED_CHANGED_PROPERTY
Identifies a change to having the border highlighted when focused, or not. |
static String |
HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
Identifies a change in the button's horizontal alignment. |
static String |
HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
Identifies a change in the button's horizontal text position. |
static String |
ICON_CHANGED_PROPERTY
Identifies a change to the icon that represents the button. |
protected ItemListener |
itemListener
The button model's ItemListener . |
static String |
MARGIN_CHANGED_PROPERTY
Identifies a change in the button's margins. |
static String |
MNEMONIC_CHANGED_PROPERTY
Identifies a change to the button's mnemonic. |
protected ButtonModel |
model
The data model that determines the button's state. |
static String |
MODEL_CHANGED_PROPERTY
Identifies a change in the button model. |
static String |
PRESSED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been pressed. |
static String |
ROLLOVER_ENABLED_CHANGED_PROPERTY
Identifies a change in the button's |
static String |
ROLLOVER_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the cursor is over the button. |
static String |
ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the cursor is over the button and it has been selected. |
static String |
SELECTED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been selected. |
static String |
TEXT_CHANGED_PROPERTY
Identifies a change in the button's text. |
static String |
VERTICAL_ALIGNMENT_CHANGED_PROPERTY
Identifies a change in the button's vertical alignment. |
static String |
VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
Identifies a change in the button's vertical text position. |
Fields inherited from class javax.swing.JComponent |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface javax.swing.SwingConstants |
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
AbstractButton()
|
Method Summary | |
void |
addActionListener(ActionListener l)
Adds an ActionListener to the button. |
void |
addChangeListener(ChangeListener l)
Adds a ChangeListener to the button. |
void |
addItemListener(ItemListener l)
Adds an ItemListener to the checkbox . |
protected int |
checkHorizontalKey(int key,
String exception)
Verify that key is a legal value for the horizontalAlignment properties. |
protected int |
checkVerticalKey(int key,
String exception)
Ensures that the key is a valid. |
protected void |
configurePropertiesFromAction(Action a)
Factory method which sets the ActionEvent
source's properties according to values from the
Action instance. |
protected ActionListener |
createActionListener()
|
protected PropertyChangeListener |
createActionPropertyChangeListener(Action a)
Factory method which creates the PropertyChangeListener
used to update the ActionEvent source as properties
change on its Action instance. |
protected ChangeListener |
createChangeListener()
Subclasses that want to handle ChangeEvents differently
can override this to return another ChangeListener
implementation. |
protected ItemListener |
createItemListener()
|
void |
doClick()
Programmatically perform a "click". |
void |
doClick(int pressTime)
Programmatically perform a "click". |
protected void |
fireActionPerformed(ActionEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireItemStateChanged(ItemEvent event)
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireStateChanged()
Notifies all listeners that have registered interest for notification on this event type. |
Action |
getAction()
Returns the currently set Action for this
ActionEvent source, or null
if no Action is set. |
String |
getActionCommand()
Returns the action command for this button. |
Icon |
getDisabledIcon()
Returns the icon used by the button when it's disabled. |
Icon |
getDisabledSelectedIcon()
Returns the icon used by the button when it's disabled and selected. |
int |
getHorizontalAlignment()
Returns the horizontal alignment of the icon and text. |
int |
getHorizontalTextPosition()
Returns the horizontal position of the text relative to the icon. |
Icon |
getIcon()
Returns the default icon. |
String |
getLabel()
Deprecated. - Replaced by getText |
Insets |
getMargin()
Returns the margin between the button's border and the label. |
int |
getMnemonic()
Returns the keyboard mnemonic from the the current model. |
ButtonModel |
getModel()
Returns the model that this button represents. |
Icon |
getPressedIcon()
Returns the pressed icon for the button. |
Icon |
getRolloverIcon()
Returns the rollover icon for the button. |
Icon |
getRolloverSelectedIcon()
Returns the rollover selection icon for the button. |
Icon |
getSelectedIcon()
Returns the selected icon for the button. |
Object[] |
getSelectedObjects()
Returns an array (length 1) containing the label or null if the button is not selected. |
String |
getText()
Returns the button's text. |
ButtonUI |
getUI()
Returns the L&F object that renders this component. |
int |
getVerticalAlignment()
Returns the vertical alignment of the text and icon. |
int |
getVerticalTextPosition()
Returns the vertical position of the text relative to the icon. |
boolean |
imageUpdate(Image img,
int infoflags,
int x,
int y,
int w,
int h)
This is overridden to return false if the current Icon 's
Image is not equal to the
passed in Image img . |
protected void |
init(String text,
Icon icon)
|
boolean |
isBorderPainted()
Returns whether the border should be painted. |
boolean |
isContentAreaFilled()
Checks whether the "content area" of the button should be filled. |
boolean |
isFocusPainted()
Returns whether focus should be painted. |
boolean |
isFocusTraversable()
Identifies whether or not this component can receive the focus. |
boolean |
isRolloverEnabled()
Checks whether rollover effects are enabled. |
boolean |
isSelected()
Returns the state of the button. |
protected void |
paintBorder(Graphics g)
Paint the button's border if BorderPainted
property is true. |
protected String |
paramString()
Returns a string representation of this AbstractButton . |
void |
removeActionListener(ActionListener l)
Removes an ActionListener from the button. |
void |
removeChangeListener(ChangeListener l)
Removes a ChangeListener from the button. |
void |
removeItemListener(ItemListener l)
Removes an ItemListener from the button. |
void |
setAction(Action a)
Sets the Action for the ActionEvent source. |
void |
setActionCommand(String actionCommand)
Sets the action command for this button. |
void |
setBorderPainted(boolean b)
Sets whether the border should be painted. |
void |
setContentAreaFilled(boolean b)
Sets whether the button should paint the content area or leave it transparent. |
void |
setDisabledIcon(Icon disabledIcon)
Sets the disabled icon for the button. |
void |
setDisabledSelectedIcon(Icon disabledSelectedIcon)
Sets the disabled selection icon for the button. |
void |
setEnabled(boolean b)
Enables (or disables) the button. |
void |
setFocusPainted(boolean b)
Sets whether focus should be painted. |
void |
setHorizontalAlignment(int alignment)
Sets the horizontal alignment of the icon and text. |
void |
setHorizontalTextPosition(int textPosition)
Sets the horizontal position of the text relative to the icon. |
void |
setIcon(Icon defaultIcon)
Sets the button's default icon. |
void |
setLabel(String label)
Deprecated. - Replaced by setText(text) |
void |
setMargin(Insets m)
Sets space for margin between the button's border and the label. |
void |
setMnemonic(char mnemonic)
Specifies the mnemonic value. |
void |
setMnemonic(int mnemonic)
Sets the keyboard mnemonic on the current model. |
void |
setModel(ButtonModel newModel)
Sets the model that this button represents. |
void |
setPressedIcon(Icon pressedIcon)
Sets the pressed icon for the button. |
void |
setRolloverEnabled(boolean b)
Sets whether rollover effects should be enabled. |
void |
setRolloverIcon(Icon rolloverIcon)
Sets the rollover icon for the button. |
void |
setRolloverSelectedIcon(Icon rolloverSelectedIcon)
Sets the rollover selected icon for the button. |
void |
setSelected(boolean b)
Sets the state of the button. |
void |
setSelectedIcon(Icon selectedIcon)
Sets the selected icon for the button. |
void |
setText(String text)
Sets the button's text. |
void |
setUI(ButtonUI ui)
Sets the L&F object that renders this component. |
void |
setVerticalAlignment(int alignment)
Sets the vertical alignment of the icon and text. |
void |
setVerticalTextPosition(int textPosition)
Sets the vertical position of the text relative to the icon. |
void |
updateUI()
Notification from the UIFactory that the
L&F has changed. |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final String MODEL_CHANGED_PROPERTY
public static final String TEXT_CHANGED_PROPERTY
public static final String MNEMONIC_CHANGED_PROPERTY
public static final String MARGIN_CHANGED_PROPERTY
public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
public static final String BORDER_PAINTED_CHANGED_PROPERTY
public static final String FOCUS_PAINTED_CHANGED_PROPERTY
public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY
public static final String CONTENT_AREA_FILLED_CHANGED_PROPERTY
public static final String ICON_CHANGED_PROPERTY
public static final String PRESSED_ICON_CHANGED_PROPERTY
public static final String SELECTED_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
public static final String DISABLED_ICON_CHANGED_PROPERTY
public static final String DISABLED_SELECTED_ICON_CHANGED_PROPERTY
protected ButtonModel model
protected ChangeListener changeListener
changeListener
.protected ActionListener actionListener
ActionListener
.protected ItemListener itemListener
ItemListener
.protected transient ChangeEvent changeEvent
ChangeEvent
is needed per button
instance since the
event's only state is the source property. The source of events
generated is always "this".Constructor Detail |
public AbstractButton()
Method Detail |
public String getText()
setText(java.lang.String)
public void setText(String text)
t
- the string used to set the textgetText()
public boolean isSelected()
public void setSelected(boolean b)
actionEvent
.
Call doClick
to perform a programatic action change.b
- true if the button is selected, otherwise falsepublic void doClick()
public void doClick(int pressTime)
pressTime
milliseconds.pressTime
- the time to "hold down" the button, in millisecondspublic void setMargin(Insets m)
null
will cause the button to
use the default margin. The button's default Border
object will use this value to create the proper margin.
However, if a non-default border is set on the button,
it is that Border
object's responsibility to create the
appropriate margin space (else this property will
effectively be ignored).m
- the space between the border and the labelpublic Insets getMargin()
Insets
object specifying the margin
between the botton's border and the labelsetMargin(java.awt.Insets)
public Icon getIcon()
Icon
setIcon(javax.swing.Icon)
public void setIcon(Icon defaultIcon)
defaultIcon
- the icon used as the default imagegetIcon()
,
setPressedIcon(javax.swing.Icon)
public Icon getPressedIcon()
pressedIcon
propertysetPressedIcon(javax.swing.Icon)
public void setPressedIcon(Icon pressedIcon)
pressedIcon
- the icon used as the "pressed" imagegetPressedIcon()
public Icon getSelectedIcon()
selectedIcon
propertysetSelectedIcon(javax.swing.Icon)
public void setSelectedIcon(Icon selectedIcon)
selectedIcon
- the icon used as the "selected" imagegetSelectedIcon()
public Icon getRolloverIcon()
rolloverIcon
propertysetRolloverIcon(javax.swing.Icon)
public void setRolloverIcon(Icon rolloverIcon)
rolloverIcon
- the icon used as the "rollover" imagegetRolloverIcon()
public Icon getRolloverSelectedIcon()
rolloverSelectedIcon
propertysetRolloverSelectedIcon(javax.swing.Icon)
public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
rolloverSelectedIcon
- the icon used as the
"selected rollover" imagegetRolloverSelectedIcon()
public Icon getDisabledIcon()
disabledIcon
propertygetPressedIcon()
,
setDisabledIcon(javax.swing.Icon)
public void setDisabledIcon(Icon disabledIcon)
disabledIcon
- the icon used as the disabled imagegetDisabledIcon()
public Icon getDisabledSelectedIcon()
disabledSelectedIcon
propertygetPressedIcon()
,
setDisabledIcon(javax.swing.Icon)
public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
disabledSelectedIcon
- the icon used as the disabled
selection imagegetDisabledSelectedIcon()
public int getVerticalAlignment()
verticalAlignment
property, one of the
following values:
public void setVerticalAlignment(int alignment)
alignment
- one of the following values:
public int getHorizontalAlignment()
horizontalAlignment
property,
one of the following values:
public void setHorizontalAlignment(int alignment)
alignment
- one of the following values:
public int getVerticalTextPosition()
verticalTextPosition
property,
one of the following values:
public void setVerticalTextPosition(int textPosition)
alignment
- one of the following values:
public int getHorizontalTextPosition()
horizontalTextPosition
property,
one of the following values:
public void setHorizontalTextPosition(int textPosition)
textPosition
- one of the following values:
IllegalArgumentException
- if textPosition
protected int checkHorizontalKey(int key, String exception)
horizontalAlignment
properties.key
- the property value to check, one of the following values:
exception
- the IllegalArgumentException
detail messageIllegalArgumentException
- if key is not one of the legal
values listed abovesetHorizontalTextPosition(int)
,
setHorizontalAlignment(int)
protected int checkVerticalKey(int key, String exception)
IllegalArgumentException
exception otherwise.key
- the value to check, one of the following values:
exception
- a string to be passed to the
IllegalArgumentException
call if key
is not one of the valid values listed aboveIllegalArgumentException
- if key is not one of the legal
values listed abovepublic void setActionCommand(String actionCommand)
actionCommand
- the action command for this buttonpublic String getActionCommand()
public void setAction(Action a)
Action
for the ActionEvent
source.
The new Action
replaces any previously set
Action
but does not affect ActionListeners
independently added with addActionListener
.
If the Action
is already a registered
ActionListener
for the button, it is not re-registered.
A side-effect of setting the Action
is that the
ActionEvent
source's properties are immediately
set from the values in the Action
(performed by the
method configurePropertiesFromAction
) and
subsequently updated as the Action
's properties change
(via a PropertyChangeListener
created by the method
createActionPropertyChangeListener
.
a
- the Action
for the AbstractButton
,
or null
Action
,
getAction()
,
configurePropertiesFromAction(javax.swing.Action)
,
createActionPropertyChangeListener(javax.swing.Action)
public Action getAction()
Action
for this
ActionEvent
source, or null
if no Action
is set.Action
for this ActionEvent
source, or null
Action
,
setAction(javax.swing.Action)
protected void configurePropertiesFromAction(Action a)
ActionEvent
source's properties according to values from the
Action
instance. The properties
which are set may differ for subclasses. By default,
the properties which get set are Text
, Icon
Enabled
, ToolTipText
and Mnemonic
.
If the Action
passed in is null
,
the following things will occur:
null
,
null
,
null
a
- the Action
from which to get the properties,
or null
Action
,
setAction(javax.swing.Action)
protected PropertyChangeListener createActionPropertyChangeListener(Action a)
PropertyChangeListener
used to update the ActionEvent
source as properties
change on its Action
instance. Subclasses may
override this in order to provide their own
PropertyChangeListener
if the set of
properties which should be kept up to date differs from the
default properties (Text, Icon, Enabled, ToolTipText,
Mnemonic
).
Note that PropertyChangeListeners
should avoid holding
strong references to the ActionEvent
source,
as this may hinder garbage collection of the
ActionEvent
source and all components
in its containment hierarchy.
a
- the new action for the buttonAction
,
setAction(javax.swing.Action)
public boolean isBorderPainted()
setBorderPainted(boolean)
public void setBorderPainted(boolean b)
b
- if true and border property is not null
,
the border is painted.isBorderPainted()
protected void paintBorder(Graphics g)
BorderPainted
property is true.paintBorder
in class JComponent
g
- the Graphics
context in which to paintJComponent.paint(java.awt.Graphics)
,
JComponent.setBorder(javax.swing.border.Border)
public boolean isFocusPainted()
paintFocus
propertysetFocusPainted(boolean)
public void setFocusPainted(boolean b)
b
- if true, the focus state is paintedisFocusPainted()
public boolean isContentAreaFilled()
contentAreaFilled
propertysetFocusPainted(boolean)
public void setContentAreaFilled(boolean b)
setOpaque(false)
.
Whether the button follows the
RepaintManager
's concept of opacity is L&F depandant.
This function may cause the component's opaque property to change.
The exact behavior of calling this function varies on a component-by-component and L&F-by-L&F basis.
b
- if true, rollover effects should be paintedisContentAreaFilled()
,
JComponent.setOpaque(boolean)
public boolean isRolloverEnabled()
rolloverEnabled
propertysetFocusPainted(boolean)
public void setRolloverEnabled(boolean b)
b
- if true, rollover effects should be paintedisRolloverEnabled()
public int getMnemonic()
public void setMnemonic(int mnemonic)
mnemonic
- the key code which represents the mnemonicpublic void setMnemonic(char mnemonic)
mnemonic
- a char specifying the mnemonic valuepublic boolean isFocusTraversable()
isFocusTraversable
in class JComponent
public ButtonModel getModel()
model
propertysetModel(javax.swing.ButtonModel)
public void setModel(ButtonModel newModel)
m
- the new ButtonModel
getModel()
public ButtonUI getUI()
setUI(javax.swing.plaf.ButtonUI)
public void setUI(ButtonUI ui)
ui
- the ButtonUI
L&F objectgetUI()
public void updateUI()
UIFactory
that the
L&F has changed. Subtypes of AbstractButton
should override this to update the UI. For
example, JButton
might do the following:
setUI((ButtonUI)UIManager.getUI( "ButtonUI", "javax.swing.plaf.basic.BasicButtonUI", this));
updateUI
in class JComponent
javax.swing.JComponent
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
UIManager.getLookAndFeel()
,
UIManager.getUI(javax.swing.JComponent)
public void addChangeListener(ChangeListener l)
ChangeListener
to the button.l
- the listener to be addedpublic void removeChangeListener(ChangeListener l)
l
- the listener to be removedprotected void fireStateChanged()
EventListenerList
public void addActionListener(ActionListener l)
ActionListener
to the button.l
- the ActionListener
to be addedpublic void removeActionListener(ActionListener l)
ActionListener
from the button.
If the listener is the currently set Action
for the button, then the Action
is set to null
.l
- the listener to be removedprotected ChangeListener createChangeListener()
ChangeEvents
differently
can override this to return another ChangeListener
implementation.ButtonChangeListener
protected void fireActionPerformed(ActionEvent event)
e
- the ActionEvent
objectEventListenerList
protected void fireItemStateChanged(ItemEvent event)
event
- the ItemEvent
objectEventListenerList
protected ActionListener createActionListener()
protected ItemListener createItemListener()
public void setEnabled(boolean b)
setEnabled
in class JComponent
b
- true to enable the button, otherwise falsepublic String getLabel()
getText
String
containing the labelpublic void setLabel(String label)
setText(text)
label
- a String
containing the textpublic void addItemListener(ItemListener l)
ItemListener
to the checkbox
.addItemListener
in interface ItemSelectable
l
- the ItemListener
to be addedpublic void removeItemListener(ItemListener l)
ItemListener
from the button.removeItemListener
in interface ItemSelectable
l
- the ItemListener
to be removedpublic Object[] getSelectedObjects()
null
if the button is not selected.getSelectedObjects
in interface ItemSelectable
null
protected void init(String text, Icon icon)
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
Icon
's
Image
is not equal to the
passed in Image
img
.imageUpdate
in class Component
img
- the Image
to be comparedinfoflags
- flags used to repaint the button when the image
is updated and which determine how much is to be paintedx
- the x coordinatey
- the y coordinatew
- the widthh
- the heightImageObserver
,
Component.imageUpdate(java.awt.Image, int, int, int, int, int)
protected String paramString()
AbstractButton
.
This method
is intended to be used only for debugging purposes, and the
content and format of the returned string may vary between
implementations. The returned string may be empty but may not
be null
.
Overriding paramString
to provide information about the
specific new aspects of the JFC components.
paramString
in class JComponent
AbstractButton
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.