java.lang.Object
javax.swing.DefaultButtonModel
- All Implemented Interfaces:
ItemSelectable,Serializable,ButtonModel
- Direct Known Subclasses:
JToggleButton.ToggleButtonModel
public class DefaultButtonModel extends Object implements ButtonModel, Serializable
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 JavaBeans™
has been added to the java.beans package.
Please see XMLEncoder.
- Since:
- 1.2
-
Field Summary
Fields Modifier and Type Field Description protected StringactionCommandThe action command string fired by the button.static intARMEDIdentifies the "armed" bit in the bitmask, which indicates partial commitment towards choosing/triggering the button.protected ChangeEventchangeEventOnly oneChangeEventis needed per button model instance since the event's only state is the source property.static intENABLEDIdentifies the "enabled" bit in the bitmask, which indicates that the button can be selected by an input device (such as a mouse pointer).protected ButtonGroupgroupThe button group that the button belongs to.protected EventListenerListlistenerListStores the listeners on this model.protected intmnemonicThe button's mnemonic.static intPRESSEDIdentifies the "pressed" bit in the bitmask, which indicates that the button is pressed.static intROLLOVERIdentifies the "rollover" bit in the bitmask, which indicates that the mouse is over the button.static intSELECTEDIdentifies the "selected" bit in the bitmask, which indicates that the button has been selected.protected intstateMaskThe bitmask used to store the state of the button. -
Constructor Summary
Constructors Constructor Description DefaultButtonModel()Constructs aDefaultButtonModel. -
Method Summary
Modifier and Type Method Description protected voidfireActionPerformed(ActionEvent e)Notifies all listeners that have registered interest for notification on this event type.protected voidfireItemStateChanged(ItemEvent e)Notifies all listeners that have registered interest for notification on this event type.protected voidfireStateChanged()Notifies all listeners that have registered interest for notification on this event type.ActionListener[]getActionListeners()Returns an array of all the action listeners registered on thisDefaultButtonModel.ChangeListener[]getChangeListeners()Returns an array of all the change listeners registered on thisDefaultButtonModel.ButtonGroupgetGroup()Returns the group that the button belongs to.ItemListener[]getItemListeners()Returns an array of all the item listeners registered on thisDefaultButtonModel.<T extends EventListener>
T[]getListeners(Class<T> listenerType)Returns an array of all the objects currently registered asFooListeners upon this model.Object[]getSelectedObjects()Overridden to returnnull.Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface javax.swing.ButtonModel
addActionListener, addChangeListener, addItemListener, getActionCommand, getMnemonic, isArmed, isEnabled, isPressed, isRollover, isSelected, removeActionListener, removeChangeListener, removeItemListener, setActionCommand, setArmed, setEnabled, setGroup, setMnemonic, setPressed, setRollover, setSelected
-
Field Details
-
stateMask
protected int stateMaskThe bitmask used to store the state of the button. -
actionCommand
The action command string fired by the button. -
group
The button group that the button belongs to. -
mnemonic
protected int mnemonicThe button's mnemonic. -
changeEvent
Only oneChangeEventis needed per button model instance since the event's only state is the source property. The source of events generated is always "this". -
listenerList
Stores the listeners on this model. -
ARMED
public static final int ARMEDIdentifies 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 SELECTEDIdentifies 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 PRESSEDIdentifies the "pressed" bit in the bitmask, which indicates that the button is pressed.- See Also:
- Constant Field Values
-
ENABLED
public static final int ENABLEDIdentifies 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 ROLLOVERIdentifies the "rollover" bit in the bitmask, which indicates that the mouse is over the button.- See Also:
- Constant Field Values
-
-
Constructor Details
-
DefaultButtonModel
public DefaultButtonModel()Constructs aDefaultButtonModel.
-
-
Method Details
-
getChangeListeners
Returns an array of all the change listeners registered on thisDefaultButtonModel.- Returns:
- all of this model's
ChangeListeners or an empty array if no change listeners are currently registered - Since:
- 1.4
- See Also:
ButtonModel.addChangeListener(javax.swing.event.ChangeListener),ButtonModel.removeChangeListener(javax.swing.event.ChangeListener)
-
fireStateChanged
protected void fireStateChanged()Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.- See Also:
EventListenerList
-
getActionListeners
Returns an array of all the action listeners registered on thisDefaultButtonModel.- Returns:
- all of this model's
ActionListeners or an empty array if no action listeners are currently registered - Since:
- 1.4
- See Also:
ButtonModel.addActionListener(java.awt.event.ActionListener),ButtonModel.removeActionListener(java.awt.event.ActionListener)
-
fireActionPerformed
Notifies all listeners that have registered interest for notification on this event type.- Parameters:
e- theActionEventto deliver to listeners- See Also:
EventListenerList
-
getItemListeners
Returns an array of all the item listeners registered on thisDefaultButtonModel.- Returns:
- all of this model's
ItemListeners or an empty array if no item listeners are currently registered - Since:
- 1.4
- See Also:
ButtonModel.addItemListener(java.awt.event.ItemListener),ButtonModel.removeItemListener(java.awt.event.ItemListener)
-
fireItemStateChanged
Notifies all listeners that have registered interest for notification on this event type.- Parameters:
e- theItemEventto deliver to listeners- See Also:
EventListenerList
-
getListeners
Returns an array of all the objects currently registered asFooListeners upon this model.FooListeners are registered using theaddFooListenermethod.You can specify the
listenerTypeargument with a class literal, such asFooListener.class. For example, you can query aDefaultButtonModelinstancemfor 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.- Type Parameters:
T- the type of requested listeners- Parameters:
listenerType- the type of listeners requested; this parameter should specify an interface that descends fromjava.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- iflistenerTypedoesn't specify a class or interface that implementsjava.util.EventListener- Since:
- 1.3
- See Also:
getActionListeners(),getChangeListeners(),getItemListeners()
-
getSelectedObjects
Overridden to returnnull.- Specified by:
getSelectedObjectsin interfaceItemSelectable- Returns:
- the list of selected objects, or
null
-
getGroup
Returns the group that the button belongs to. Normally used with radio buttons, which are mutually exclusive within their group.- Specified by:
getGroupin interfaceButtonModel- Returns:
- the
ButtonGroupthat the button belongs to - Since:
- 1.3
-