Interface ButtonModel
- All Superinterfaces:
- ItemSelectable
- All Known Implementing Classes:
- DefaultButtonModel,- JToggleButton.ToggleButtonModel
This model is used for regular buttons, as well as check boxes and radio buttons, which are special kinds of buttons. In practice, a button's UI takes the responsibility of calling methods on its model to manage the state, as detailed below:
 In simple terms, pressing and releasing the mouse over a regular
 button triggers the button and causes and ActionEvent
 to be fired. The same behavior can be produced via a keyboard key
 defined by the look and feel of the button (typically the SPACE BAR).
 Pressing and releasing this key while the button has
 focus will give the same results. For check boxes and radio buttons, the
 mouse or keyboard equivalent sequence just described causes the button
 to become selected.
 
 In details, the state model for buttons works as follows
 when used with the mouse:
 
 Pressing the mouse on top of a button makes the model both
 armed and pressed. As long as the mouse remains down,
 the model remains pressed, even if the mouse moves
 outside the button. On the contrary, the model is only
 armed while the mouse remains pressed within the bounds of
 the button (it can move in or out of the button, but the model
 is only armed during the portion of time spent within the button).
 A button is triggered, and an ActionEvent is fired,
 when the mouse is released while the model is armed
 - meaning when it is released over top of the button after the mouse
 has previously been pressed on that button (and not already released).
 Upon mouse release, the model becomes unarmed and unpressed.
 
 In details, the state model for buttons works as follows
 when used with the keyboard:
 
 Pressing the look and feel defined keyboard key while the button
 has focus makes the model both armed and pressed. As long as this key
 remains down, the model remains in this state. Releasing the key sets
 the model to unarmed and unpressed, triggers the button, and causes an
 ActionEvent to be fired.
- Since:
- 1.2
- 
Method SummaryModifier and TypeMethodDescriptionvoidAdds anActionListenerto the model.voidAdds aChangeListenerto the model.voidAdds anItemListenerto the model.Returns the action command string for the button.default ButtonGroupgetGroup()Returns the group that the button belongs to.intGets the keyboard mnemonic for the button.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.voidSets 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.Methods declared in interface java.awt.ItemSelectablegetSelectedObjects
- 
Method Details- 
isArmedboolean isArmed()Indicates partial commitment towards triggering the button.- Returns:
- trueif the button is armed, and ready to be triggered
- See Also:
 
- 
isSelectedboolean isSelected()Indicates if the button has been selected. Only needed for certain types of buttons - such as radio buttons and check boxes.- Returns:
- trueif the button is selected
 
- 
isEnabledboolean isEnabled()Indicates if the button can be selected or triggered by an input device, such as a mouse pointer.- Returns:
- trueif the button is enabled
 
- 
isPressedboolean isPressed()Indicates if the button is pressed.- Returns:
- trueif the button is pressed
 
- 
isRolloverboolean isRollover()Indicates that the mouse is over the button.- Returns:
- trueif the mouse is over the button
 
- 
setArmedvoid setArmed(boolean b) Marks the button as armed or unarmed.- Parameters:
- b- whether or not the button should be armed
 
- 
setSelectedvoid setSelected(boolean b) Selects or deselects the button.- Parameters:
- b-- trueselects the button,- falsedeselects the button
 
- 
setEnabledvoid setEnabled(boolean b) Enables or disables the button.- Parameters:
- b- whether or not the button should be enabled
- See Also:
 
- 
setPressedvoid setPressed(boolean b) Sets the button to pressed or unpressed.- Parameters:
- b- whether or not the button should be pressed
- See Also:
 
- 
setRollovervoid setRollover(boolean b) Sets or clears the button's rollover state- Parameters:
- b- whether or not the button is in the rollover state
- See Also:
 
- 
setMnemonicvoid setMnemonic(int key) Sets the keyboard mnemonic (shortcut key or accelerator key) for the button.- Parameters:
- key- an int specifying the accelerator key
 
- 
getMnemonicint getMnemonic()Gets the keyboard mnemonic for the button.- Returns:
- an int specifying the accelerator key
- See Also:
 
- 
setActionCommandSets the action command string that gets sent as part of theActionEventwhen the button is triggered.- Parameters:
- s- the- Stringthat identifies the generated event
- See Also:
 
- 
getActionCommandString getActionCommand()Returns the action command string for the button.- Returns:
- the Stringthat identifies the generated event
- See Also:
 
- 
setGroupIdentifies the group the button belongs to -- needed for radio buttons, which are mutually exclusive within their group.- Parameters:
- group- the- ButtonGroupthe button belongs to
 
- 
getGroupReturns the group that the button belongs to. Normally used with radio buttons, which are mutually exclusive within their group.- Implementation Requirements:
- The default implementation of this method returns null. Subclasses should return the group set by setGroup().
- Returns:
- the ButtonGroupthat the button belongs to
- Since:
- 10
 
- 
addActionListenerAdds anActionListenerto the model.- Parameters:
- l- the listener to add
 
- 
removeActionListenerRemoves anActionListenerfrom the model.- Parameters:
- l- the listener to remove
 
- 
addItemListenerAdds anItemListenerto the model.- Specified by:
- addItemListenerin interface- ItemSelectable
- Parameters:
- l- the listener to add
- See Also:
 
- 
removeItemListenerRemoves anItemListenerfrom the model.- Specified by:
- removeItemListenerin interface- ItemSelectable
- Parameters:
- l- the listener to remove
- See Also:
 
- 
addChangeListenerAdds aChangeListenerto the model.- Parameters:
- l- the listener to add
 
- 
removeChangeListenerRemoves aChangeListenerfrom the model.- Parameters:
- l- the listener to remove
 
 
-