Top Description Methods
javax.swing

public Interface ButtonModel

extends ItemSelectable
Known Direct Implementers
javax.swing.DefaultButtonModel
Imports
java.awt.event.*, java.awt.*, javax.swing.event.*

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.

Author
Jeff Dinkins
Since
1.2

Method Summary

Modifier and TypeMethod and Description
public void
addActionListener(ActionListener
the listener to add
l
)

Adds an ActionListener to the model.

public void
addChangeListener(ChangeListener
the listener to add
l
)

Adds a ChangeListener to the model.

public void
addItemListener(ItemListener
the listener to add
l
)

Redeclares java.awt.ItemSelectable.addItemListener.

Adds an ItemListener to the model.
public String

Returns:

the String that identifies the generated event
getActionCommand
()

Returns the action command string for the button.

public default ButtonGroup

Returns:

the ButtonGroup that the button belongs to
getGroup
()

Returns the group that the button belongs to.

public int

Returns:

an int specifying the accelerator key
getMnemonic
()

Gets the keyboard mnemonic for the button.

public boolean

Returns:

true if the button is armed, and ready to be triggered
isArmed
()

Indicates partial commitment towards triggering the button.

public boolean

Returns:

true if the button is enabled
isEnabled
()

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

public boolean

Returns:

true if the button is pressed
isPressed
()

Indicates if the button is pressed.

public boolean

Returns:

true if the mouse is over the button
isRollover
()

Indicates that the mouse is over the button.

public boolean

Returns:

true if the button is selected
isSelected
()

Indicates if the button has been selected.

public void
removeActionListener(ActionListener
the listener to remove
l
)

Removes an ActionListener from the model.

public void
removeChangeListener(ChangeListener
the listener to remove
l
)

Removes a ChangeListener from the model.

public void
removeItemListener(ItemListener
the listener to remove
l
)

Redeclares java.awt.ItemSelectable.removeItemListener.

Removes an ItemListener from the model.
public void
setActionCommand(String
the String that identifies the generated event
s
)

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

public void
setArmed(boolean
whether or not the button should be armed
b
)

Marks the button as armed or unarmed.

public void
setEnabled(boolean
whether or not the button should be enabled
b
)

Enables or disables the button.

public void
setGroup(ButtonGroup
the ButtonGroup the button belongs to
group
)

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

public void
setMnemonic(int
an int specifying the accelerator key
key
)

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

public void
setPressed(boolean
whether or not the button should be pressed
b
)

Sets the button to pressed or unpressed.

public void
setRollover(boolean
whether or not the button is in the rollover state
b
)

Sets or clears the button's rollover state

public void
setSelected(boolean
true selects the button, false deselects the button
b
)

Selects or deselects the button.

Inherited from java.awt.ItemSelectable:
getSelectedObjects

Method Detail

addActionListenerback to summary
public void addActionListener(ActionListener l)

Adds an ActionListener to the model.

Parameters
l:ActionListener

the listener to add

addChangeListenerback to summary
public void addChangeListener(ChangeListener l)

Adds a ChangeListener to the model.

Parameters
l:ChangeListener

the listener to add

addItemListenerback to summary
public void addItemListener(ItemListener l)

Redeclares java.awt.ItemSelectable.addItemListener.

Adds an ItemListener to the model.

Parameters
l:ItemListener

the listener to add

getActionCommandback to summary
public String getActionCommand()

Returns the action command string for the button.

Returns:String

the String that identifies the generated event

See Also
setActionCommand
getGroupback to summary
public default ButtonGroup getGroup()

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

Implementation Specification

The default implementation of this method returns null. Subclasses should return the group set by setGroup().

Returns:ButtonGroup

the ButtonGroup that the button belongs to

Since
10
getMnemonicback to summary
public int getMnemonic()

Gets the keyboard mnemonic for the button.

Returns:int

an int specifying the accelerator key

See Also
setMnemonic
isArmedback to summary
public boolean isArmed()

Indicates partial commitment towards triggering the button.

Returns:boolean

true if the button is armed, and ready to be triggered

See Also
setArmed
isEnabledback to summary
public boolean isEnabled()

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

Returns:boolean

true if the button is enabled

isPressedback to summary
public boolean isPressed()

Indicates if the button is pressed.

Returns:boolean

true if the button is pressed

isRolloverback to summary
public boolean isRollover()

Indicates that the mouse is over the button.

Returns:boolean

true if the mouse is over the button

isSelectedback to summary
public boolean isSelected()

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

Returns:boolean

true if the button is selected

removeActionListenerback to summary
public void removeActionListener(ActionListener l)

Removes an ActionListener from the model.

Parameters
l:ActionListener

the listener to remove

removeChangeListenerback to summary
public void removeChangeListener(ChangeListener l)

Removes a ChangeListener from the model.

Parameters
l:ChangeListener

the listener to remove

removeItemListenerback to summary
public void removeItemListener(ItemListener l)

Redeclares java.awt.ItemSelectable.removeItemListener.

Removes an ItemListener from the model.

Parameters
l:ItemListener

the listener to remove

setActionCommandback to summary
public void setActionCommand(String s)

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

Parameters
s:String

the String that identifies the generated event

See Also
getActionCommand, java.awt.event.ActionEvent#getActionCommand
setArmedback to summary
public void setArmed(boolean b)

Marks the button as armed or unarmed.

Parameters
b:boolean

whether or not the button should be armed

setEnabledback to summary
public void setEnabled(boolean b)

Enables or disables the button.

Parameters
b:boolean

whether or not the button should be enabled

See Also
isEnabled
setGroupback to summary
public void setGroup(ButtonGroup group)

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

Parameters
group:ButtonGroup

the ButtonGroup the button belongs to

setMnemonicback to summary
public void setMnemonic(int key)

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

Parameters
key:int

an int specifying the accelerator key

setPressedback to summary
public void setPressed(boolean b)

Sets the button to pressed or unpressed.

Parameters
b:boolean

whether or not the button should be pressed

See Also
isPressed
setRolloverback to summary
public void setRollover(boolean b)

Sets or clears the button's rollover state

Parameters
b:boolean

whether or not the button is in the rollover state

See Also
isRollover
setSelectedback to summary
public void setSelected(boolean b)

Selects or deselects the button.

Parameters
b:boolean

true selects the button, false deselects the button