|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
public abstract class 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. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder.
| Nested Class Summary | |
|---|---|
protected class |
AbstractButton.AccessibleAbstractButton
This class implements accessibility support for the AbstractButton class. |
protected class |
AbstractButton.ButtonChangeListener
Extends ChangeListener to be serializable. |
| Nested classes/interfaces inherited from class javax.swing.JComponent |
|---|
JComponent.AccessibleJComponent |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| 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 to having the button paint the content area. |
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 from rollover enabled to disabled or back to enabled. |
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, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, 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. |
protected void |
addImpl(Component comp,
Object constraints,
int index)
Adds the specified component to this container at the specified index, refer to Container.addImpl(Component, Object, int)
for a complete description of this method. |
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. |
ActionListener[] |
getActionListeners()
Returns an array of all the ActionListeners added
to this AbstractButton with addActionListener(). |
ChangeListener[] |
getChangeListeners()
Returns an array of all the ChangeListeners added
to this AbstractButton with addChangeListener(). |
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 |
getDisplayedMnemonicIndex()
Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character. |
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. |
int |
getIconTextGap()
Returns the amount of space between the text and the icon displayed in this button. |
ItemListener[] |
getItemListeners()
Returns an array of all the ItemListeners added
to this AbstractButton with addItemListener(). |
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. |
long |
getMultiClickThreshhold()
Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events. |
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()
Gets the borderPainted property. |
boolean |
isContentAreaFilled()
Gets the contentAreaFilled property. |
boolean |
isFocusPainted()
Gets the paintFocus property. |
boolean |
isRolloverEnabled()
Gets the rolloverEnabled property. |
boolean |
isSelected()
Returns the state of the button. |
protected void |
paintBorder(Graphics g)
Paint the button's border if BorderPainted
property is true and the button has a border. |
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 the borderPainted property. |
void |
setContentAreaFilled(boolean b)
Sets the contentAreaFilled property. |
void |
setDisabledIcon(Icon disabledIcon)
Sets the disabled icon for the button. |
void |
setDisabledSelectedIcon(Icon disabledSelectedIcon)
Sets the disabled selection icon for the button. |
void |
setDisplayedMnemonicIndex(int index)
Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic. |
void |
setEnabled(boolean b)
Enables (or disables) the button. |
void |
setFocusPainted(boolean b)
Sets the paintFocus property, which must
be true for the focus state to 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 |
setIconTextGap(int iconTextGap)
If both the icon and text properties are set, this property defines the space between them. |
void |
setLayout(LayoutManager mgr)
Sets the layout manager for this container, refer to Container.setLayout(LayoutManager)
for a complete description of this method. |
void |
setMargin(Insets m)
Sets space for margin between the button's border and the label. |
void |
setMnemonic(char mnemonic)
This method is now obsolete, please use setMnemonic(int)
to set the mnemonic for a button. |
void |
setMnemonic(int mnemonic)
Sets the keyboard mnemonic on the current model. |
void |
setModel(ButtonModel newModel)
Sets the model that this button represents. |
void |
setMultiClickThreshhold(long threshhold)
Sets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events. |
void |
setPressedIcon(Icon pressedIcon)
Sets the pressed icon for the button. |
void |
setRolloverEnabled(boolean b)
Sets the rolloverEnabled property, which
must be true for rollover effects to occur. |
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()
Resets the UI property to a value from the current look and feel. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected ActionListener actionListener
ActionListener.
public static final String BORDER_PAINTED_CHANGED_PROPERTY
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".
protected ChangeListener changeListener
changeListener.
public static final String CONTENT_AREA_FILLED_CHANGED_PROPERTY
public static final String DISABLED_ICON_CHANGED_PROPERTY
public static final String DISABLED_SELECTED_ICON_CHANGED_PROPERTY
public static final String FOCUS_PAINTED_CHANGED_PROPERTY
public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
public static final String ICON_CHANGED_PROPERTY
protected ItemListener itemListener
ItemListener.
public static final String MARGIN_CHANGED_PROPERTY
public static final String MNEMONIC_CHANGED_PROPERTY
protected ButtonModel model
public static final String MODEL_CHANGED_PROPERTY
public static final String PRESSED_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY
public static final String ROLLOVER_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
public static final String SELECTED_ICON_CHANGED_PROPERTY
public static final String TEXT_CHANGED_PROPERTY
public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
| Constructor Detail |
|---|
public AbstractButton()
| Method Detail |
|---|
public void addActionListener(ActionListener l)
ActionListener to the button.
l - the ActionListener to be addedpublic void addChangeListener(ChangeListener l)
ChangeListener to the button.
l - the listener to be added
protected void addImpl(Component comp,
Object constraints,
int index)
Container.addImpl(Component, Object, int)
for a complete description of this method.
addImpl in class Containercomp - the component to be addedconstraints - an object expressing layout constraints
for this componentindex - the position in the container's list at which to
insert the component, where -1
means append to the end
IllegalArgumentException - if index is invalid
IllegalArgumentException - if adding the container's parent
to itself
IllegalArgumentException - if adding a window to a containerContainer.add(Component),
Container.add(Component, int),
Container.add(Component, java.lang.Object),
LayoutManager,
LayoutManager2public void addItemListener(ItemListener l)
ItemListener to the checkbox.
addItemListener in interface ItemSelectablel - the ItemListener to be addedItemEvent
protected int checkHorizontalKey(int key,
String exception)
horizontalAlignment properties.
key - the property value to check, one of the following values:
exception - the IllegalArgumentException
detail message
IllegalArgumentException - 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 above
IllegalArgumentException - if key is not one of the legal
values listed aboveprotected 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, ActionCommand, 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 nullAction,
setAction(javax.swing.Action)protected ActionListener createActionListener()
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)protected ChangeListener createChangeListener()
ChangeEvents differently
can override this to return another ChangeListener
implementation.
ChangeListenerprotected ItemListener createItemListener()
public void doClick()
public void doClick(int pressTime)
pressTime
milliseconds.
pressTime - the time to "hold down" the button, in millisecondsprotected void fireActionPerformed(ActionEvent event)
event
parameter.
event - the ActionEvent objectEventListenerListprotected void fireItemStateChanged(ItemEvent event)
event parameter.
event - the ItemEvent objectEventListenerListprotected void fireStateChanged()
EventListenerListpublic Action getAction()
Action for this
ActionEvent source, or null
if no Action is set.
Action for this ActionEvent
source, or nullAction,
setAction(javax.swing.Action)public String getActionCommand()
public ActionListener[] getActionListeners()
ActionListeners added
to this AbstractButton with addActionListener().
ActionListeners added or an empty
array if no listeners have been addedpublic ChangeListener[] getChangeListeners()
ChangeListeners added
to this AbstractButton with addChangeListener().
ChangeListeners added or an empty
array if no listeners have been addedpublic Icon getDisabledIcon()
Some look and feels might not render the disabled Icon, in which case they will ignore this.
disabledIcon propertygetPressedIcon(),
setDisabledIcon(javax.swing.Icon),
LookAndFeel.getDisabledIcon(javax.swing.JComponent, javax.swing.Icon)public Icon getDisabledSelectedIcon()
getDisabledIcon() otherwise.
Some look and feels might not render the disabled selected Icon, in which case they will ignore this.
disabledSelectedIcon propertygetDisabledIcon(),
setDisabledSelectedIcon(javax.swing.Icon),
LookAndFeel.getDisabledSelectedIcon(javax.swing.JComponent, javax.swing.Icon)public int getDisplayedMnemonicIndex()
setDisplayedMnemonicIndex(int)public int getHorizontalAlignment()
horizontalAlignment property,
one of the following values:
public int getHorizontalTextPosition()
horizontalTextPosition property,
one of the following values:
public Icon getIcon()
IconsetIcon(javax.swing.Icon)public int getIconTextGap()
setIconTextGap(int)public ItemListener[] getItemListeners()
ItemListeners added
to this AbstractButton with addItemListener().
ItemListeners added or an empty
array if no listeners have been addedpublic Insets getMargin()
Insets object specifying the margin
between the botton's border and the labelsetMargin(java.awt.Insets)public int getMnemonic()