is new.
public interface ButtonModel
State model for buttons.
State Model for buttons. This model is used for check boxes and radio buttons, which are special kinds of buttons, as well as for normal buttons. For check boxes and radio buttons, pressing the mouse selects the button. For normal buttons, pressing the mouse "arms" the button. Releasing the mouse over the button then initiates a
button
press, firing its action event. Releasing the mouse elsewhere disarms the button.
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 use, a UI will invoke
setSelected(boolean)
when a mouse click occurs over a check box or radio button. It will invoke
setArmed(boolean)
when the mouse is pressed over a regular button and invoke
setPressed(boolean)
when the mouse is released. If the mouse travels outside the button in the meantime, setArmed(false) will tell the button not to fire when it sees setPressed. (If the mouse travels back in, the button will be rearmed.)
![]()
Note:
![]()
A button is triggered when it is both "armed" and "pressed".
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.
| Method Summary | |
|---|---|
| void |
addActionListener
(
ActionListener
Adds an ActionListener to the
model.
|
| void |
addChangeListener
(
ChangeListener
Adds a ChangeListener to the
model.
|
| void |
addItemListener
(
ItemListener
Adds an ItemListener to the
model.
|
| String |
getActionCommand
() Returns the action command
string
for
the
|
| int |
getMnemonic
() Gets the keyboard mnemonic for
the button.
|
| boolean |
isArmed
() Indicates partial commitment towards
triggering
|
| boolean |
isEnabled
() Indicates if the button can be selected or
triggered
device, such
pointer.
|
| boolean |
isPressed
() Indicates if
the
button
is
|
| boolean |
isRollover
() Indicates that the mouse is over the button. |
| boolean |
isSelected
() Indicates if the button has been selected. |
| void |
removeActionListener
(
ActionListener
Removes an ActionListener from the
model.
|
| void |
removeChangeListener
(
ChangeListener
Removes a ChangeListener from the
model.
|
| void |
removeItemListener
(
ItemListener
Removes an ItemListener from the
model.
|
| void |
setActionCommand
(
String
Sets the
action command
ActionEvent
triggered.
|
| void |
setArmed
(boolean b) Marks the button as
armed or unarmed.
|
| void |
setEnabled
(boolean b) Enables or disables the button. |
| void |
setGroup
(
ButtonGroup
Identifies the group
the
|
| void |
setMnemonic
(int key) Sets the keyboard mnemonic (shortcut key or accelerator key) for
the
|
| void |
setPressed
(boolean b) Sets the button to pressed or unpressed. |
| void |
setRollover
(boolean b) Sets or clears the button's rollover state |
| void |
setSelected
(boolean b) Selects or deselects the button. |
| Methods inherited from interface java.awt. ItemSelectable |
|---|
| getSelectedObjects |
| Method Detail |
|---|
boolean isArmed()
triggering
triggered
boolean isSelected()
boolean isEnabled()
triggered
device, such
pointer.
enabled
boolean isPressed()
the
button
is
is
boolean isRollover()
void setArmed(boolean b)
Marks the button as armed or unarmed.
b - whether or not the button should be armed
void setSelected(boolean b)
button
void setEnabled(boolean b)
b - whether or not the button should be enabled
void setPressed(boolean b)
b - whether or not the button should be pressed
void setRollover(boolean b)
whether - or not the button is in the rollover state
void setMnemonic(int key)
the
int getMnemonic()
the button.
void setActionCommand(String s)
action command
ActionEvent
triggered.
See Also:
getActionCommand()
,
ActionEvent.getActionCommand()
String getActionCommand()
string
for
the
void setGroup(ButtonGroup group)
the
the
void addActionListener(ActionListener l)
model.
void removeActionListener(ActionListener l)
model.
void addItemListener(ItemListener l)
model.
void removeItemListener(ItemListener l)
model.
void addChangeListener(ChangeListener l)
model.
void removeChangeListener(ChangeListener l)
model.