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
FooListener s
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 ButtonModel
actionCommand
- the String
that identifies the generated eventButtonModel.getActionCommand()
,
ActionEvent.getActionCommand()
public String getActionCommand()
getActionCommand
in interface ButtonModel
String
that identifies the generated eventButtonModel.setActionCommand(java.lang.String)
public boolean isArmed()
isArmed
in interface ButtonModel
true
if the button is armed,
and ready to be triggeredButtonModel.setArmed(boolean)
public boolean isSelected()
isSelected
in interface ButtonModel
true
if the button is selectedpublic boolean isEnabled()
isEnabled
in interface ButtonModel
true
if the button is enabledpublic boolean isPressed()
isPressed
in interface ButtonModel
true
if the button is pressedpublic boolean isRollover()
isRollover
in interface ButtonModel
true
if the mouse is over the buttonpublic void setArmed(boolean b)
setArmed
in interface ButtonModel
b
- whether or not the button should be armedpublic void setEnabled(boolean b)
setEnabled
in interface ButtonModel
b
- whether or not the button should be enabledButtonModel.isEnabled()
public void setSelected(boolean b)
setSelected
in interface ButtonModel
b
- true
selects the button,
false
deselects the buttonpublic void setPressed(boolean b)
setPressed
in interface ButtonModel
b
- whether or not the button should be pressedButtonModel.isPressed()
public void setRollover(boolean b)
setRollover
in interface ButtonModel
b
- whether or not the button is in the rollover stateButtonModel.isRollover()
public void setMnemonic(int key)
setMnemonic
in interface ButtonModel
key
- an int specifying the accelerator keypublic int getMnemonic()
getMnemonic
in interface ButtonModel
ButtonModel.setMnemonic(int)
public void addChangeListener(ChangeListener l)
ChangeListener
to the model.addChangeListener
in interface ButtonModel
l
- the listener to addpublic void removeChangeListener(ChangeListener l)
ChangeListener
from the model.removeChangeListener
in interface ButtonModel
l
- the listener to removepublic ChangeListener[] getChangeListeners()
DefaultButtonModel
.ChangeListener
s
or an empty
array if no change listeners are currently registeredaddChangeListener(javax.swing.event.ChangeListener)
,
removeChangeListener(javax.swing.event.ChangeListener)
protected void fireStateChanged()
EventListenerList
public void addActionListener(ActionListener l)
ActionListener
to the model.addActionListener
in interface ButtonModel
l
- the listener to addpublic void removeActionListener(ActionListener l)
ActionListener
from the model.removeActionListener
in interface ButtonModel
l
- the listener to removepublic ActionListener[] getActionListeners()
DefaultButtonModel
.ActionListener
s
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 listenersEventListenerList
public void addItemListener(ItemListener l)
ItemListener
to the model.addItemListener
in interface ItemSelectable
addItemListener
in interface ButtonModel
l
- the listener to addItemEvent
public void removeItemListener(ItemListener l)
ItemListener
from the model.removeItemListener
in interface ItemSelectable
removeItemListener
in interface ButtonModel
l
- the listener to removeItemEvent
public ItemListener[] getItemListeners()
DefaultButtonModel
.ItemListener
s
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 listenersEventListenerList
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener
s
upon this model.
FooListener
s
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.EventListener
FooListener
s
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.EventListener
getActionListeners()
,
getChangeListeners()
,
getItemListeners()
public Object[] getSelectedObjects()
null
.getSelectedObjects
in interface ItemSelectable
public void setGroup(ButtonGroup group)
setGroup
in interface ButtonModel
group
- 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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.