Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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.