public class DefaultButtonModel extends Object implements ButtonModel, Serializable
Button component's data model.
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 JavaBeans™
has been added to the java.beans package.
Please see XMLEncoder.
| Modifier and Type | Field and Description |
|---|---|
protected String |
actionCommand
The action command string fired by the button.
|
static int |
ARMED
Identifies the "armed" bit in the bitmask, which
indicates partial commitment towards choosing/triggering
the button.
|
protected ChangeEvent |
changeEvent
Only one
ChangeEvent is needed per button model
instance since the event's only state is the source property. |
static int |
ENABLED
Identifies the "enabled" bit in the bitmask, which
indicates that the button can be selected by
an input device (such as a mouse pointer).
|
protected ButtonGroup |
group
The button group that the button belongs to.
|
protected EventListenerList |
listenerList
Stores the listeners on this model.
|
protected int |
mnemonic
The button's mnemonic.
|
static int |
PRESSED
Identifies the "pressed" bit in the bitmask, which
indicates that the button is pressed.
|
static int |
ROLLOVER
Identifies the "rollover" bit in the bitmask, which
indicates that the mouse is over the button.
|
static int |
SELECTED
Identifies the "selected" bit in the bitmask, which
indicates that the button has been selected.
|
protected int |
stateMask
The bitmask used to store the state of the button.
|
| Constructor and Description |
|---|
DefaultButtonModel()
Constructs a
DefaultButtonModel. |
| Modifier and Type | Method and Description |
|---|---|
void |
addActionListener(ActionListener l)
Adds an
ActionListener to the model. |
void |
addChangeListener(ChangeListener l)
Adds a
ChangeListener to the model. |
void |
addItemListener(ItemListener l)
Adds an
ItemListener to the model. |
protected void |
fireActionPerformed(ActionEvent e)
Notifies all listeners that have registered interest for
notification on this event type.
|
protected void |
fireItemStateChanged(ItemEvent e)
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.
|
String |
getActionCommand()
Returns the action command string for the button.
|
ActionListener[] |
getActionListeners()
Returns an array of all the action listeners
registered on this
DefaultButtonModel. |
ChangeListener[] |
getChangeListeners()
Returns an array of all the change listeners
registered on this
DefaultButtonModel. |
ButtonGroup |
getGroup()
Returns the group that the button belongs to.
|
ItemListener[] |
getItemListeners()
Returns an array of all the item listeners
registered on this
DefaultButtonModel. |
<T extends EventListener> |
getListeners(Class<T> listenerType)
Returns an array of all the objects currently registered as
FooListeners
upon this model. |
int |
getMnemonic()
Gets the keyboard mnemonic for the button.
|
Object[] |
getSelectedObjects()
Overridden to return
null. |
boolean |
isArmed()
Indicates partial commitment towards triggering the
button.
|
boolean |
isEnabled()
Indicates if the button can be selected or triggered by
an input device, such as a mouse pointer.
|
boolean |
isPressed()
Indicates if the button is pressed.
|
boolean |
isRollover()
Indicates that the mouse is over the button.
|
boolean |
isSelected()
Indicates if the button has been selected.
|
void |
removeActionListener(ActionListener l)
Removes an
ActionListener from the model. |
void |
removeChangeListener(ChangeListener l)
Removes a
ChangeListener from the model. |
void |
removeItemListener(ItemListener l)
Removes an
ItemListener from the model. |
void |
setActionCommand(String actionCommand)
Sets the action command string that gets sent as part of the
ActionEvent when the button is triggered. |
void |
setArmed(boolean b)
Marks the button as armed or unarmed.
|
void |
setEnabled(boolean b)
Enables or disables the button.
|
void |
setGroup(ButtonGroup group)
Identifies the group the button belongs to --
needed for radio buttons, which are mutually
exclusive within their group.
|
void |
setMnemonic(int key)
Sets the keyboard mnemonic (shortcut key or
accelerator key) for the button.
|
void |
setPressed(boolean b)
Sets the button to pressed or unpressed.
|
void |
setRollover(boolean b)
Sets or clears the button's rollover state
|
void |
setSelected(boolean b)
Selects or deselects the button.
|
protected int stateMask
protected String actionCommand
protected ButtonGroup group
protected int mnemonic
protected transient ChangeEvent changeEvent
ChangeEvent is needed per button model
instance since the event's only state is the source property.
The source of events generated is always "this".protected EventListenerList listenerList
public static final int ARMED
public static final int SELECTED
public static final int PRESSED
public static final int ENABLED
public static final int ROLLOVER
public void setActionCommand(String actionCommand)
ActionEvent when the button is triggered.setActionCommand in interface ButtonModelactionCommand - the String that identifies the generated eventButtonModel.getActionCommand(),
ActionEvent.getActionCommand()public String getActionCommand()
getActionCommand in interface ButtonModelString that identifies the generated eventButtonModel.setActionCommand(java.lang.String)public boolean isArmed()
isArmed in interface ButtonModeltrue if the button is armed,
and ready to be triggeredButtonModel.setArmed(boolean)public boolean isSelected()
isSelected in interface ButtonModeltrue if the button is selectedpublic boolean isEnabled()
isEnabled in interface ButtonModeltrue if the button is enabledpublic boolean isPressed()
isPressed in interface ButtonModeltrue if the button is pressedpublic boolean isRollover()
isRollover in interface ButtonModeltrue if the mouse is over the buttonpublic void setArmed(boolean b)
setArmed in interface ButtonModelb - whether or not the button should be armedpublic void setEnabled(boolean b)
setEnabled in interface ButtonModelb - whether or not the button should be enabledButtonModel.isEnabled()public void setSelected(boolean b)
setSelected in interface ButtonModelb - true selects the button,
false deselects the buttonpublic void setPressed(boolean b)
setPressed in interface ButtonModelb - whether or not the button should be pressedButtonModel.isPressed()public void setRollover(boolean b)
setRollover in interface ButtonModelb - whether or not the button is in the rollover stateButtonModel.isRollover()public void setMnemonic(int key)
setMnemonic in interface ButtonModelkey - an int specifying the accelerator keypublic int getMnemonic()
getMnemonic in interface ButtonModelButtonModel.setMnemonic(int)public void addChangeListener(ChangeListener l)
ChangeListener to the model.addChangeListener in interface ButtonModell - the listener to addpublic void removeChangeListener(ChangeListener l)
ChangeListener from the model.removeChangeListener in interface ButtonModell - the listener to removepublic ChangeListener[] getChangeListeners()
DefaultButtonModel.ChangeListeners
or an empty
array if no change listeners are currently registeredaddChangeListener(javax.swing.event.ChangeListener),
removeChangeListener(javax.swing.event.ChangeListener)protected void fireStateChanged()
EventListenerListpublic void addActionListener(ActionListener l)
ActionListener to the model.addActionListener in interface ButtonModell - the listener to addpublic void removeActionListener(ActionListener l)
ActionListener from the model.removeActionListener in interface ButtonModell - the listener to removepublic ActionListener[] getActionListeners()
DefaultButtonModel.ActionListeners
or an empty
array if no action listeners are currently registeredaddActionListener(java.awt.event.ActionListener),
removeActionListener(java.awt.event.ActionListener)protected void fireActionPerformed(ActionEvent e)
e - the ActionEvent to deliver to listenersEventListenerListpublic void addItemListener(ItemListener l)
ItemListener to the model.addItemListener in interface ItemSelectableaddItemListener in interface ButtonModell - the listener to addItemEventpublic void removeItemListener(ItemListener l)
ItemListener from the model.removeItemListener in interface ItemSelectableremoveItemListener in interface ButtonModell - the listener to removeItemEventpublic ItemListener[] getItemListeners()
DefaultButtonModel.ItemListeners
or an empty
array if no item listeners are currently registeredaddItemListener(java.awt.event.ItemListener),
removeItemListener(java.awt.event.ItemListener)protected void fireItemStateChanged(ItemEvent e)
e - the ItemEvent to deliver to listenersEventListenerListpublic <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListeners
upon this model.
FooListeners
are registered using the addFooListener method.
You can specify the listenerType argument
with a class literal, such as FooListener.class.
For example, you can query a DefaultButtonModel
instance m
for its action listeners
with the following code:
ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class));If no such listeners exist, this method returns an empty array.
listenerType - the type of listeners requested;
this parameter should specify an interface
that descends from java.util.EventListenerFooListeners
on this model,
or an empty array if no such
listeners have been addedClassCastException - if listenerType doesn't
specify a class or interface that implements
java.util.EventListenergetActionListeners(),
getChangeListeners(),
getItemListeners()public Object[] getSelectedObjects()
null.getSelectedObjects in interface ItemSelectablepublic void setGroup(ButtonGroup group)
setGroup in interface ButtonModelgroup - the ButtonGroup the button belongs topublic ButtonGroup getGroup()
ButtonGroup that the button belongs to Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.