java.lang.Object
javax.swing.DefaultButtonModel
- All Implemented Interfaces:
ItemSelectable,Serializable,ButtonModel
- Direct Known Subclasses:
JToggleButton.ToggleButtonModel
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
FieldsModifier and TypeFieldDescriptionprotected StringThe action command string fired by the button.static final intIdentifies the "armed" bit in the bitmask, which indicates partial commitment towards choosing/triggering the button.protected ChangeEventOnly oneChangeEventis needed per button model instance since the event's only state is the source property.static final intIdentifies the "enabled" bit in the bitmask, which indicates that the button can be selected by an input device (such as a mouse pointer).protected ButtonGroupThe button group that the button belongs to.protected EventListenerListStores the listeners on this model.protected intThe button's mnemonic.static final intIdentifies the "pressed" bit in the bitmask, which indicates that the button is pressed.static final intIdentifies the "rollover" bit in the bitmask, which indicates that the mouse is over the button.static final intIdentifies the "selected" bit in the bitmask, which indicates that the button has been selected.protected intThe bitmask used to store the state of the button. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds anActionListenerto the model.voidAdds aChangeListenerto the model.voidAdds anItemListenerto the model.protected voidNotifies all listeners that have registered interest for notification on this event type.protected voidNotifies all listeners that have registered interest for notification on this event type.protected voidNotifies all listeners that have registered interest for notification on this event type.Returns the action command string for the button.Returns an array of all the action listeners registered on thisDefaultButtonModel.Returns an array of all the change listeners registered on thisDefaultButtonModel.getGroup()Returns the group that the button belongs to.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.intGets the keyboard mnemonic for the button.Object[]Overridden to returnnull.booleanisArmed()Indicates partial commitment towards triggering the button.booleanIndicates if the button can be selected or triggered by an input device, such as a mouse pointer.booleanIndicates if the button is pressed.booleanIndicates that the mouse is over the button.booleanIndicates if the button has been selected.voidRemoves anActionListenerfrom the model.voidRemoves aChangeListenerfrom the model.voidRemoves anItemListenerfrom the model.voidsetActionCommand(String actionCommand) Sets the action command string that gets sent as part of theActionEventwhen the button is triggered.voidsetArmed(boolean b) Marks the button as armed or unarmed.voidsetEnabled(boolean b) Enables or disables the button.voidsetGroup(ButtonGroup group) Identifies the group the button belongs to -- needed for radio buttons, which are mutually exclusive within their group.voidsetMnemonic(int key) Sets the keyboard mnemonic (shortcut key or accelerator key) for the button.voidsetPressed(boolean b) Sets the button to pressed or unpressed.voidsetRollover(boolean b) Sets or clears the button's rollover statevoidsetSelected(boolean b) Selects or deselects the button.
-
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:
-
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:
-
PRESSED
public static final int PRESSEDIdentifies the "pressed" bit in the bitmask, which indicates that the button is pressed.- See Also:
-
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:
-
ROLLOVER
public static final int ROLLOVERIdentifies the "rollover" bit in the bitmask, which indicates that the mouse is over the button.- See Also:
-
-
Constructor Details
-
DefaultButtonModel
public DefaultButtonModel()Constructs aDefaultButtonModel.
-
-
Method Details
-
setActionCommand
Sets the action command string that gets sent as part of theActionEventwhen the button is triggered.- Specified by:
setActionCommandin interfaceButtonModel- Parameters:
actionCommand- theStringthat identifies the generated event- See Also:
-
getActionCommand
Returns the action command string for the button.- Specified by:
getActionCommandin interfaceButtonModel- Returns:
- the
Stringthat identifies the generated event - See Also:
-
isArmed
public boolean isArmed()Indicates partial commitment towards triggering the button.- Specified by:
isArmedin interfaceButtonModel- Returns:
trueif the button is armed, and ready to be triggered- See Also:
-
isSelected
public boolean isSelected()Indicates if the button has been selected. Only needed for certain types of buttons - such as radio buttons and check boxes.- Specified by:
isSelectedin interfaceButtonModel- Returns:
trueif the button is selected
-
isEnabled
public boolean isEnabled()Indicates if the button can be selected or triggered by an input device, such as a mouse pointer.- Specified by:
isEnabledin interfaceButtonModel- Returns:
trueif the button is enabled
-
isPressed
public boolean isPressed()Indicates if the button is pressed.- Specified by:
isPressedin interfaceButtonModel- Returns:
trueif the button is pressed
-
isRollover
public boolean isRollover()Indicates that the mouse is over the button.- Specified by:
isRolloverin interfaceButtonModel- Returns:
trueif the mouse is over the button
-
setArmed
public void setArmed(boolean b) Marks the button as armed or unarmed.- Specified by:
setArmedin interfaceButtonModel- Parameters:
b- whether or not the button should be armed
-
setEnabled
public void setEnabled(boolean b) Enables or disables the button.- Specified by:
setEnabledin interfaceButtonModel- Parameters:
b- whether or not the button should be enabled- See Also:
-
setSelected
public void setSelected(boolean b) Selects or deselects the button.- Specified by:
setSelectedin interfaceButtonModel- Parameters:
b-trueselects the button,falsedeselects the button
-
setPressed
public void setPressed(boolean b) Sets the button to pressed or unpressed.- Specified by:
setPressedin interfaceButtonModel- Parameters:
b- whether or not the button should be pressed- See Also:
-
setRollover
public void setRollover(boolean b) Sets or clears the button's rollover state- Specified by:
setRolloverin interfaceButtonModel- Parameters:
b- whether or not the button is in the rollover state- See Also:
-
setMnemonic
public void setMnemonic(int key) Sets the keyboard mnemonic (shortcut key or accelerator key) for the button.- Specified by:
setMnemonicin interfaceButtonModel- Parameters:
key- an int specifying the accelerator key
-
getMnemonic
public int getMnemonic()Gets the keyboard mnemonic for the button.- Specified by:
getMnemonicin interfaceButtonModel- Returns:
- an int specifying the accelerator key
- See Also:
-
addChangeListener
Adds aChangeListenerto the model.- Specified by:
addChangeListenerin interfaceButtonModel- Parameters:
l- the listener to add
-
removeChangeListener
Removes aChangeListenerfrom the model.- Specified by:
removeChangeListenerin interfaceButtonModel- Parameters:
l- the listener to remove
-
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:
-
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:
-
addActionListener
Adds anActionListenerto the model.- Specified by:
addActionListenerin interfaceButtonModel- Parameters:
l- the listener to add
-
removeActionListener
Removes anActionListenerfrom the model.- Specified by:
removeActionListenerin interfaceButtonModel- Parameters:
l- the listener to remove
-
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:
-
fireActionPerformed
Notifies all listeners that have registered interest for notification on this event type.- Parameters:
e- theActionEventto deliver to listeners- See Also:
-
addItemListener
Adds anItemListenerto the model.- Specified by:
addItemListenerin interfaceButtonModel- Specified by:
addItemListenerin interfaceItemSelectable- Parameters:
l- the listener to add- See Also:
-
removeItemListener
Removes anItemListenerfrom the model.- Specified by:
removeItemListenerin interfaceButtonModel- Specified by:
removeItemListenerin interfaceItemSelectable- Parameters:
l- the listener to remove- See Also:
-
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:
-
fireItemStateChanged
Notifies all listeners that have registered interest for notification on this event type.- Parameters:
e- theItemEventto deliver to listeners- See Also:
-
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:
-
getSelectedObjects
Overridden to returnnull.- Specified by:
getSelectedObjectsin interfaceItemSelectable- Returns:
- the list of selected objects, or
null
-
setGroup
Identifies the group the button belongs to -- needed for radio buttons, which are mutually exclusive within their group.- Specified by:
setGroupin interfaceButtonModel- Parameters:
group- theButtonGroupthe button belongs to
-
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
-