javax.swing
Class DefaultButtonModel
public
class
DefaultButtonModel
extends Object
implements ButtonModel, Serializable
The default implementation of
ButtonModel.
The purpose of this class is to model the dynamic state of an abstract
button. The concrete button type holding this state may be a a "toggle"
button (checkbox, radio button) or a "push" button (menu button, button).
If the model is disabled, only the "selected" property can be changed. An
attempt to change the "armed", "rollover" or "pressed" properties while
the model is disabled will be blocked. Any successful (non-blocked) change
to the model's properties will trigger the firing of a ChangeEvent. Any
change to the "selected" property will trigger the firing of an ItemEvent
in addition to ChangeEvent. This is true whether the model is enabled or
not. One other state change is special: the transition from "enabled,
armed and pressed" to "enabled, armed and not-pressed". This is considered
the "trailing edge" of a successful mouse click, and therefore fires an
ActionEvent in addition to a ChangeEvent. In all other respects this class
is just a container of boolean flags.
Field Summary |
protected String | actionCommand
The string used as the "command" property of any ActionEvent this model
sends. |
static int | ARMED
Indicates that the button is partially committed to being
pressed, but not entirely. |
protected ChangeEvent | changeEvent The single ChangeEvent this model (re)uses to call its ChangeListeners. |
static int | ENABLED
State constant indicating that the button is enabled. |
protected ButtonGroup | group
The group this model belongs to. |
protected EventListenerList | listenerList
List of ItemListeners, ChangeListeners, and ActionListeners registered on
this model. |
protected int | mnemonic
The key code (one of java.awt.event.KeyEvent VK_) used to press
this button via a keyboard interface. |
static int | PRESSED
State constant indicating that the user is holding down the button. |
static int | ROLLOVER
State constant indicating that the mouse is currently positioned over the
button. |
static int | SELECTED
State constant indicating that the button is selected. |
protected int | stateMask
Represents the "state properties" (armed, enabled, pressed, rollover and
selected) by a bitwise combination of integer constants. |
Method Summary |
void | addActionListener(ActionListener l)
Add an ActionListener to the model. |
void | addChangeListener(ChangeListener l)
Add a ChangeListener to the model. |
void | addItemListener(ItemListener l)
Add an ItemListener to the model. |
protected void | fireActionPerformed(ActionEvent e)
Inform each ActionListener in the listenerList that an
ActionEvent has occurred. |
protected void | fireItemStateChanged(ItemEvent e)
Inform each ItemListener in the listenerList that an ItemEvent
has occurred. |
protected void | fireStateChanged()
Inform each ChangeListener in the listenerList that a ChangeEvent
has occurred. |
String | getActionCommand()
Returns the current value of the model's "actionCommand" property.
|
ActionListener[] | getActionListeners()
Returns all registered ActionListener objects.
|
ChangeListener[] | getChangeListeners()
Returns all registered ChangeListener objects.
|
ButtonGroup | getGroup()
Returns the current value of the model's "group" property.
|
ItemListener[] | getItemListeners()
Returns all registered ItemListener objects.
|
<T extends EventListener> T[] | getListeners(Class<T> listenerType)
Returns a specified class of listeners.
|
int | getMnemonic()
Get the value of the model's "mnemonic" property.
|
Object[] | getSelectedObjects()
Return null . |
boolean | isArmed()
Get the value of the model's "armed" property.
|
boolean | isEnabled()
Get the value of the model's "enabled" property.
|
boolean | isPressed()
Get the value of the model's "pressed" property.
|
boolean | isRollover()
Get the value of the model's "rollover" property.
|
boolean | isSelected()
Get the value of the model's "selected" property.
|
void | removeActionListener(ActionListener l)
Remove an ActionListener to the model. |
void | removeChangeListener(ChangeListener l)
Remove a ChangeListener to the model. |
void | removeItemListener(ItemListener l)
Remove an ItemListener to the model. |
void | setActionCommand(String s)
Set the value of the model's "actionCommand" property. |
void | setArmed(boolean a)
Set the value of the model's "armed" property.
|
void | setEnabled(boolean e)
Set the value of the model's "enabled" property.
|
void | setGroup(ButtonGroup g)
Set the value of the model's "group" property. |
void | setMnemonic(int key)
Set the value of the model's "mnemonic" property.
|
void | setPressed(boolean p)
Set the value of the model's "pressed" property.
|
void | setRollover(boolean r)
Set the value of the model's "rollover" property.
|
void | setSelected(boolean s)
Set the value of the model's "selected" property.
|
protected String actionCommand
The string used as the "command" property of any ActionEvent this model
sends.
public static final int ARMED
Indicates that the button is partially committed to being
pressed, but not entirely. This usually happens when a user has pressed
but not yet released the mouse button.
protected ChangeEvent changeEvent
The single ChangeEvent this model (re)uses to call its ChangeListeners.
public static final int ENABLED
State constant indicating that the button is enabled. Buttons cannot be
pressed or selected unless they are enabled.
The group this model belongs to. Only one button in a group may be
selected at any given time.
protected EventListenerList listenerList
List of ItemListeners, ChangeListeners, and ActionListeners registered on
this model.
protected int mnemonic
The key code (one of java.awt.event.KeyEvent VK_) used to press
this button via a keyboard interface.
public static final int PRESSED
State constant indicating that the user is holding down the button. When
this transitions from true to false, an ActionEvent may be fired,
depending on the value of the "armed" property.
public static final int ROLLOVER
State constant indicating that the mouse is currently positioned over the
button.
public static final int SELECTED
State constant indicating that the button is selected. This constant is
only meaningful for toggle-type buttons (radio buttons, checkboxes).
protected int stateMask
Represents the "state properties" (armed, enabled, pressed, rollover and
selected) by a bitwise combination of integer constants.
public DefaultButtonModel()
Creates a new DefaultButtonModel object.
public void addActionListener(ActionListener l)
Add an ActionListener to the model. Usually only called to subscribe an
AbstractButton's listener to the model.
Parameters: l The listener to add
public void addChangeListener(ChangeListener l)
Add a ChangeListener to the model. Usually only called to subscribe an
AbstractButton's listener to the model.
Parameters: l The listener to add
public void addItemListener(ItemListener l)
Add an ItemListener to the model. Usually only called to subscribe an
AbstractButton's listener to the model.
Parameters: l The listener to add
protected void fireActionPerformed(ActionEvent e)
Inform each ActionListener in the
listenerList that an
ActionEvent has occurred. This happens in response to the any change to
the
stateMask field which makes the enabled, armed and pressed
properties all simultaneously
true
.
Parameters: e The ActionEvent to fire
protected void fireItemStateChanged(ItemEvent e)
Inform each ItemListener in the
listenerList that an ItemEvent
has occurred. This happens in response to any change to the
stateMask field.
Parameters: e The ItemEvent to fire
protected void fireStateChanged()
Inform each ChangeListener in the
listenerList that a ChangeEvent
has occurred. This happens in response to the any change to a property
of the model.
public String getActionCommand()
Returns the current value of the model's "actionCommand" property.
Returns: The current "actionCommand" property
public ActionListener[] getActionListeners()
Returns all registered
ActionListener
objects.
Returns: array of ActionListener
objects
public ChangeListener[] getChangeListeners()
Returns all registered
ChangeListener
objects.
Returns: array of ChangeListener
objects
Returns the current value of the model's "group" property.
Returns: The value of the "group" property
See Also: setGroup
public ItemListener[] getItemListeners()
Returns all registered
ItemListener
objects.
Returns: array of ItemListener
objects
public <
T extends EventListener>
T[] getListeners(Class<
T> listenerType)
Returns a specified class of listeners.
Parameters: listenerType the type of listener to return
Returns: array of listeners
public int getMnemonic()
Get the value of the model's "mnemonic" property.
Returns: The current "mnemonic" property
public Object[] getSelectedObjects()
Return
null
. Use
AbstractButton if you wish to
interface with a button via an ItemSelectable interface.
Returns: null
public boolean isArmed()
Get the value of the model's "armed" property.
Returns: The current "armed" property
public boolean isEnabled()
Get the value of the model's "enabled" property.
Returns: The current "enabled" property.
public boolean isPressed()
Get the value of the model's "pressed" property.
Returns: The current "pressed" property
public boolean isRollover()
Get the value of the model's "rollover" property.
Returns: The current "rollover" property
public boolean isSelected()
Get the value of the model's "selected" property.
Returns: The current "selected" property
public void removeActionListener(ActionListener l)
Remove an ActionListener to the model. Usually only called to unsubscribe
an AbstractButton's listener to the model.
Parameters: l The listener to remove
public void removeChangeListener(ChangeListener l)
Remove a ChangeListener to the model. Usually only called to unsubscribe
an AbstractButton's listener to the model.
Parameters: l The listener to remove
public void removeItemListener(ItemListener l)
Remove an ItemListener to the model. Usually only called to unsubscribe
an AbstractButton's listener to the model.
Parameters: l The listener to remove
public void setActionCommand(String s)
Set the value of the model's "actionCommand" property. This property is
used as the "command" property of the ActionEvent fired from the
model.
Parameters: s The new "actionCommand" property.
public void setArmed(boolean a)
Set the value of the model's "armed" property.
Parameters: a The new "armed" property
public void setEnabled(boolean e)
Set the value of the model's "enabled" property.
Parameters: e The new "enabled" property
Set the value of the model's "group" property. The model is said to be a
member of the
ButtonGroup held in its "group" property, and only
one model in a given group can have their "selected" property be
true
at a time.
Parameters: g The new "group" property (null
permitted).
See Also: getGroup
public void setMnemonic(int key)
Set the value of the model's "mnemonic" property.
Parameters: key The new "mnemonic" property
public void setPressed(boolean p)
Set the value of the model's "pressed" property.
Parameters: p The new "pressed" property
public void setRollover(boolean r)
Set the value of the model's "rollover" property.
Parameters: r The new "rollover" property
public void setSelected(boolean s)
Set the value of the model's "selected" property.
Parameters: s The new "selected" property