FileDocCategorySizeDatePackage
ButtonModel.javaAPI DocJava SE 6 API6780Tue Jun 10 00:26:34 BST 2008javax.swing

ButtonModel

public interface ButtonModel implements ItemSelectable
State model for buttons.

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.

version
1.29 02/14/06
author
Jeff Dinkins

Fields Summary
Constructors Summary
Methods Summary
public voidaddActionListener(java.awt.event.ActionListener l)
Adds an ActionListener to the model.

param
l the listener to add

public voidaddChangeListener(javax.swing.event.ChangeListener l)
Adds a ChangeListener to the model.

param
l the listener to add

public voidaddItemListener(java.awt.event.ItemListener l)
Adds an ItemListener to the model.

param
l the listener to add

public java.lang.StringgetActionCommand()
Returns the action command string for the button.

return
the String that identifies the generated event
see
#setActionCommand

public intgetMnemonic()
Gets the keyboard mnemonic for the button.

return
an int specifying the accelerator key
see
#setMnemonic

public booleanisArmed()
Indicates partial commitment towards triggering the button.

return
true if the button is armed, and ready to be triggered
see
#setArmed

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

return
true if the button is enabled

public booleanisPressed()
Indicates if the button is pressed.

return
true if the button is pressed

public booleanisRollover()
Indicates that the mouse is over the button.

return
true if the mouse is over the button

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

return
true if the button is selected

public voidremoveActionListener(java.awt.event.ActionListener l)
Removes an ActionListener from the model.

param
l the listener to remove

public voidremoveChangeListener(javax.swing.event.ChangeListener l)
Removes a ChangeListener from the model.

param
l the listener to remove

public voidremoveItemListener(java.awt.event.ItemListener l)
Removes an ItemListener from the model.

param
l the listener to remove

public voidsetActionCommand(java.lang.String s)
Sets the action command string that gets sent as part of the ActionEvent when the button is triggered.

param
s the String that identifies the generated event
see
#getActionCommand
see
java.awt.event.ActionEvent#getActionCommand

public voidsetArmed(boolean b)
Marks the button as armed or unarmed.

param
b whether or not the button should be armed

public voidsetEnabled(boolean b)
Enables or disables the button.

param
b whether or not the button should be enabled
see
#isEnabled

public voidsetGroup(javax.swing.ButtonGroup group)
Identifies the group the button belongs to -- needed for radio buttons, which are mutually exclusive within their group.

param
group the ButtonGroup the button belongs to

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

param
key an int specifying the accelerator key

public voidsetPressed(boolean b)
Sets the button to pressed or unpressed.

param
b whether or not the button should be pressed
see
#isPressed

public voidsetRollover(boolean b)
Sets or clears the button's rollover state

param
b whether or not the button is in the rollover state
see
#isRollover

public voidsetSelected(boolean b)
Selects or deselects the button.

param
b true selects the button, false deselects the button