javax.swing
Class DefaultButtonModel

java.lang.Object
  extended by javax.swing.DefaultButtonModel
All Implemented Interfaces:
ItemSelectable, Serializable, ButtonModel
Direct Known Subclasses:
JToggleButton.ToggleButtonModel

public class DefaultButtonModel
extends Object
implements ButtonModel, Serializable

Disabled: no SafeJ information.

The default implementation of a 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 JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.


Field Summary
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 Summary
DefaultButtonModel()
          Constructs a DefaultButtonModel.
 
Method Summary
 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 a listener to receive item events when the state of an item is changed by the user.
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>
T[]
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 item listener.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stateMask

protected int stateMask
Class is disabled.

The bitmask used to store the state of the button.


actionCommand

protected String actionCommand
Class is disabled.

The action command string fired by the button.


group

protected ButtonGroup group
Class is disabled.

The button group that the button belongs to.


mnemonic

protected int mnemonic
Class is disabled.

The button's mnemonic.


changeEvent

protected transient ChangeEvent changeEvent
Class is disabled.

Only one 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".


listenerList

protected EventListenerList listenerList
Class is disabled.

Stores the listeners on this model.


ARMED

public static final int ARMED
Class is disabled.

Identifies the "armed" bit in the bitmask, which indicates partial commitment towards choosing/triggering the button.

See Also:
Constant Field Values

SELECTED

public static final int SELECTED
Class is disabled.

Identifies the "selected" bit in the bitmask, which indicates that the button has been selected. Only needed for certain types of buttons - such as radio button or check box.

See Also:
Constant Field Values

PRESSED

public static final int PRESSED
Class is disabled.

Identifies the "pressed" bit in the bitmask, which indicates that the button is pressed.

See Also:
Constant Field Values

ENABLED

public static final int ENABLED
Class is disabled.

Identifies the "enabled" bit in the bitmask, which indicates that the button can be selected by an input device (such as a mouse pointer).

See Also:
Constant Field Values

ROLLOVER

public static final int ROLLOVER
Class is disabled.

Identifies the "rollover" bit in the bitmask, which indicates that the mouse is over the button.

See Also:
Constant Field Values
Constructor Detail

DefaultButtonModel

public DefaultButtonModel()
Class is disabled.

Constructs a DefaultButtonModel.

Method Detail

setActionCommand

public void setActionCommand(String actionCommand)
Class is disabled.

Sets the action command string that gets sent as part of the ActionEvent when the button is triggered.

Specified by:
setActionCommand in interface ButtonModel
Parameters:
actionCommand - the String that identifies the generated event
See Also:
ButtonModel.getActionCommand(), ActionEvent.getActionCommand()

getActionCommand

public String getActionCommand()
Class is disabled.

Returns the action command string for the button.

Specified by:
getActionCommand in interface ButtonModel
Returns:
the String that identifies the generated event
See Also:
ButtonModel.setActionCommand(java.lang.String)

isArmed

public boolean isArmed()
Class is disabled.

Indicates partial commitment towards triggering the button.

Specified by:
isArmed in interface ButtonModel
Returns:
true if the button is armed, and ready to be triggered
See Also:
ButtonModel.setArmed(boolean)

isSelected

public boolean isSelected()
Class is disabled.

Indicates if the button has been selected. Only needed for certain types of buttons - such as radio buttons and check boxes.

Specified by:
isSelected in interface ButtonModel
Returns:
true if the button is selected

isEnabled

public boolean isEnabled()
Class is disabled.

Indicates if the button can be selected or triggered by an input device, such as a mouse pointer.

Specified by:
isEnabled in interface ButtonModel
Returns:
true if the button is enabled

isPressed

public boolean isPressed()
Class is disabled.

Indicates if the button is pressed.

Specified by:
isPressed in interface ButtonModel
Returns:
true if the button is pressed

isRollover

public boolean isRollover()
Class is disabled.

Indicates that the mouse is over the button.

Specified by:
isRollover in interface ButtonModel
Returns:
true if the mouse is over the button

setArmed

public void setArmed(boolean b)
Class is disabled.

Marks the button as armed or unarmed.

Specified by:
setArmed in interface ButtonModel
Parameters:
b - whether or not the button should be armed

setEnabled

public void setEnabled(boolean b)
Class is disabled.

Enables or disables the button.

Specified by:
setEnabled in interface ButtonModel
Parameters:
b - whether or not the button should be enabled
See Also:
ButtonModel.isEnabled()

setSelected

public void setSelected(boolean b)
Class is disabled.

Selects or deselects the button.

Specified by:
setSelected in interface ButtonModel
Parameters:
b - true selects the button, false deselects the button

setPressed

public void setPressed(boolean b)
Class is disabled.

Sets the button to pressed or unpressed.

Specified by:
setPressed in interface ButtonModel
Parameters:
b - whether or not the button should be pressed
See Also:
ButtonModel.isPressed()

setRollover

public void setRollover(boolean b)
Class is disabled.

Sets or clears the button's rollover state

Specified by:
setRollover in interface ButtonModel
Parameters:
b - whether or not the button is in the rollover state
See Also:
ButtonModel.isRollover()

setMnemonic

public void setMnemonic(int key)
Class is disabled.

Sets the keyboard mnemonic (shortcut key or accelerator key) for the button.

Specified by:
setMnemonic in interface ButtonModel
Parameters:
key - an int specifying the accelerator key

getMnemonic

public int getMnemonic()
Class is disabled.

Gets the keyboard mnemonic for the button.

Specified by:
getMnemonic in interface ButtonModel
Returns:
an int specifying the accelerator key
See Also:
ButtonModel.setMnemonic(int)

addChangeListener

public void addChangeListener(ChangeListener l)
Class is disabled.

Adds a ChangeListener to the model.

Specified by:
addChangeListener in interface ButtonModel
Parameters:
l - the listener to add

removeChangeListener

public void removeChangeListener(ChangeListener l)
Class is disabled.

Removes a ChangeListener from the model.

Specified by:
removeChangeListener in interface ButtonModel
Parameters:
l - the listener to remove

getChangeListeners

public ChangeListener[] getChangeListeners()
Class is disabled.

Returns an array of all the change listeners registered on this DefaultButtonModel.

Returns:
all of this model's ChangeListeners or an empty array if no change listeners are currently registered
Since:
1.4
See Also:
addChangeListener(javax.swing.event.ChangeListener), removeChangeListener(javax.swing.event.ChangeListener)

fireStateChanged

protected void fireStateChanged()
Class is disabled.

Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.

See Also:
EventListenerList

addActionListener

public void addActionListener(ActionListener l)
Class is disabled.

Adds an ActionListener to the model.

Specified by:
addActionListener in interface ButtonModel
Parameters:
l - the listener to add

removeActionListener

public void removeActionListener(ActionListener l)
Class is disabled.

Removes an ActionListener from the model.

Specified by:
removeActionListener in interface ButtonModel
Parameters:
l - the listener to remove

getActionListeners

public ActionListener[] getActionListeners()
Class is disabled.

Returns an array of all the action listeners registered on this DefaultButtonModel.

Returns:
all of this model's ActionListeners or an empty array if no action listeners are currently registered
Since:
1.4
See Also:
addActionListener(java.awt.event.ActionListener), removeActionListener(java.awt.event.ActionListener)

fireActionPerformed

protected void fireActionPerformed(ActionEvent e)
Class is disabled.

Notifies all listeners that have registered interest for notification on this event type.

Parameters:
e - the ActionEvent to deliver to listeners
See Also:
EventListenerList

addItemListener

public void addItemListener(ItemListener l)
Class is disabled.

Adds a listener to receive item events when the state of an item is changed by the user. Item events are not sent when an item's state is set programmatically. If l is null, no exception is thrown and no action is performed.

Specified by:
addItemListener in interface ItemSelectable
Specified by:
addItemListener in interface ButtonModel
Parameters:
l - the listener to receive events
See Also:
ItemEvent

removeItemListener

public void removeItemListener(ItemListener l)
Class is disabled.

Removes an item listener. If l is null, no exception is thrown and no action is performed.

Specified by:
removeItemListener in interface ItemSelectable
Specified by:
removeItemListener in interface ButtonModel
Parameters:
l - the listener being removed
See Also:
ItemEvent

getItemListeners

public ItemListener[] getItemListeners()
Class is disabled.

Returns an array of all the item listeners registered on this DefaultButtonModel.

Returns:
all of this model's ItemListeners or an empty array if no item listeners are currently registered
Since:
1.4
See Also:
addItemListener(java.awt.event.ItemListener), removeItemListener(java.awt.event.ItemListener)

fireItemStateChanged

protected void fireItemStateChanged(ItemEvent e)
Class is disabled.

Notifies all listeners that have registered interest for notification on this event type.

Parameters:
e - the ItemEvent to deliver to listeners
See Also:
EventListenerList

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Class is disabled.

Returns an array of all the objects currently registered as 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.

Parameters:
listenerType - the type of listeners requested; this parameter should specify an interface that descends from java.util.EventListener
Returns:
an array of all objects registered as FooListeners on this model, or an empty array if no such listeners have been added
Throws:
ClassCastException - if listenerType doesn't specify a class or interface that implements java.util.EventListener
Since:
1.3
See Also:
getActionListeners(), getChangeListeners(), getItemListeners()

getSelectedObjects

public Object[] getSelectedObjects()
Class is disabled.

Overridden to return null.

Specified by:
getSelectedObjects in interface ItemSelectable

setGroup

public void setGroup(ButtonGroup group)
Class is disabled.

Identifies the group the button belongs to -- needed for radio buttons, which are mutually exclusive within their group.

Specified by:
setGroup in interface ButtonModel
Parameters:
group - the ButtonGroup the button belongs to

getGroup

public ButtonGroup getGroup()
Class is disabled.

Returns the group that the button belongs to. Normally used with radio buttons, which are mutually exclusive within their group.

Returns:
the ButtonGroup that the button belongs to
Since:
1.3