JavaTM 2 Platform
Standard Ed. 5.0

javax.swing
Interface ButtonModel

All Superinterfaces:
ItemSelectable
All Known Implementing Classes:
DefaultButtonModel, JToggleButton.ToggleButtonModel

public interface ButtonModel
extends ItemSelectable

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.

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".


Method Summary
 void addActionListener(ActionListener l)
          Adds an ActionListener to the button.
 void addChangeListener(ChangeListener l)
          Adds a ChangeListener to the button.
 void addItemListener(ItemListener l)
          Adds an ItemListener to the button.
 String getActionCommand()
          Returns the action command for this button.
 int getMnemonic()
          Gets the keyboard mnemonic for this model
 boolean isArmed()
          Indicates partial commitment towards pressing the button.
 boolean isEnabled()
          Indicates if the button can be selected or pressed by an input device (such as a mouse pointer).
 boolean isPressed()
          Indicates if button has been pressed.
 boolean isRollover()
          Indicates that the mouse is over the button.
 boolean isSelected()
          Indicates if the button has been selected.
 void removeActionListener(ActionListener l)
          Removes an ActionListener from the button.
 void removeChangeListener(ChangeListener l)
          Removes a ChangeListener from the button.
 void removeItemListener(ItemListener l)
          Removes an ItemListener from the button.
 void setActionCommand(String s)
          Sets the actionCommand string that gets sent as part of the event when the button is pressed.
 void setArmed(boolean b)
          Marks the button as "armed".
 void setEnabled(boolean b)
          Enables or disables the button.
 void setGroup(ButtonGroup group)
          Identifies the group this button belongs to -- needed for radio buttons, which are mutually exclusive within their group.
 void setMnemonic(int key)
          Sets the keyboard mnemonic (shortcut key or accelerator key) for this button.
 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

isArmed

boolean isArmed()
Indicates partial commitment towards pressing the button.

Returns:
true if the button is armed, and ready to be pressed
See Also:
setArmed(boolean)

isSelected

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

Returns:
true if the button is selected

isEnabled

boolean isEnabled()
Indicates if the button can be selected or pressed by an input device (such as a mouse pointer). (Check boxes are selected, regular buttons are "pressed".)

Returns:
true if the button is enabled, and therefore selectable (or pressable)

isPressed

boolean isPressed()
Indicates if button has been pressed.

Returns:
true if the button has been pressed

isRollover

boolean isRollover()
Indicates that the mouse is over the button.

Returns:
true if the mouse is over the button

setArmed

void setArmed(boolean b)
Marks the button as "armed". If the mouse button is released while it is over this item, the button's action event fires. If the mouse button is released elsewhere, the event does not fire and the button is disarmed.

Parameters:
b - true to arm the button so it can be selected

setSelected

void setSelected(boolean b)
Selects or deselects the button.

Parameters:
b - true selects the button, false deselects the button.

setEnabled

void setEnabled(boolean b)
Enables or disables the button.

Parameters:
b - true to enable the button
See Also:
isEnabled()

setPressed

void setPressed(boolean b)
Sets the button to pressed or unpressed.

Parameters:
b - true to set the button to "pressed"
See Also:
isPressed()

setRollover

void setRollover(boolean b)
Sets or clears the button's rollover state

Parameters:
b - true to turn on rollover
See Also:
isRollover()

setMnemonic

void setMnemonic(int key)
Sets the keyboard mnemonic (shortcut key or accelerator key) for this button.

Parameters:
key - an int specifying the accelerator key

getMnemonic

int getMnemonic()
Gets the keyboard mnemonic for this model

Returns:
an int specifying the accelerator key
See Also:
setMnemonic(int)

setActionCommand

void setActionCommand(String s)
Sets the actionCommand string that gets sent as part of the event when the button is pressed.

Parameters:
s - the String that identifies the generated event

getActionCommand

String getActionCommand()
Returns the action command for this button.

Returns:
the String that identifies the generated event
See Also:
setActionCommand(java.lang.String)

setGroup

void setGroup(ButtonGroup group)
Identifies the group this button belongs to -- needed for radio buttons, which are mutually exclusive within their group.

Parameters:
group - the ButtonGroup this button belongs to

addActionListener

void addActionListener(ActionListener l)
Adds an ActionListener to the button.

Parameters:
l - the listener to add

removeActionListener

void removeActionListener(ActionListener l)
Removes an ActionListener from the button.

Parameters:
l - the listener to remove

addItemListener

void addItemListener(ItemListener l)
Adds an ItemListener to the button.

Specified by:
addItemListener in interface ItemSelectable
Parameters:
l - the listener to add
See Also:
ItemEvent

removeItemListener

void removeItemListener(ItemListener l)
Removes an ItemListener from the button.

Specified by:
removeItemListener in interface ItemSelectable
Parameters:
l - the listener to remove
See Also:
ItemEvent

addChangeListener

void addChangeListener(ChangeListener l)
Adds a ChangeListener to the button.

Parameters:
l - the listener to add

removeChangeListener

void removeChangeListener(ChangeListener l)
Removes a ChangeListener from the button.

Parameters:
l - the listener to remove

JavaTM 2 Platform
Standard Ed. 5.0

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.