Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class ButtonGroup

    java.lang.Object
      |
      +--javax.swing.ButtonGroup

All Implemented Interfaces:
  Serializable

public class ButtonGroup
extends Object
implements Serializable

This class is used to create a multiple-exclusion scope for a set of buttons. Creating a set of buttons with the same `ButtonGroup` object means that turning "on" one of those buttons turns off all other buttons in the group.

A `ButtonGroup` can be used with any set of objects that inherit from `AbstractButton`. Typically a button group contains instances of `JRadioButton`, `JRadioButtonMenuItem`, or `JToggleButton`. It wouldn't make sense to put an instance of `JButton` or `JMenuItem` in a button group because `JButton` and `JMenuItem` don't implement the selected state.

Initially, all buttons in the group are unselected. Once any button is selected, one button is always selected in the group. There is no way to turn a button programmatically to "off", in order to clear the button group. To give the appearance of "none selected", add an invisible radio button to the group and then programmatically select that button to turn off all the displayed radio buttons. For example, a normal button with the label "none" could be wired to select the invisible radio button.

For examples and further information on using button groups see How to Use Radio Buttons, a section in The Java Tutorial.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.

See Also:
  Serialized Form

Field Summary
`protected Vector` | `buttons`

Constructor Summary
`ButtonGroup()` Creates a new ButtonGroup.

Method Summary
`void` | `add(AbstractButton b)` Adds the button to the group.
`int` | `getButtonCount()` Returns the number of buttons in the group.
`Enumeration` | `getElements()` Return all the buttons that are participating in this group.
`ButtonModel` | `getSelection()` Return the selected button model.
`boolean` | `isSelected(ButtonModel m)` Returns the selected value for the button.
`void` | `remove(AbstractButton b)` Removes the button from the group.
`void` | `setSelected(ButtonModel m, boolean b)` Sets the selected value for the button.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### buttons

    protected Vector buttons

Constructor Detail

### ButtonGroup

    public ButtonGroup()

  Creates a new ButtonGroup.

Method Detail

### add

    public void add(AbstractButton b)

  Adds the button to the group.

### remove

    public void remove(AbstractButton b)

  Removes the button from the group.

### getElements

    public Enumeration getElements()

  Return all the buttons that are participating in this group.

### getSelection

    public ButtonModel getSelection()

  Return the selected button model.

### setSelected

    public void setSelected(ButtonModel m,
                            boolean b)

  Sets the selected value for the button.

### isSelected

    public boolean isSelected(ButtonModel m)

  Returns the selected value for the button.

### getButtonCount

    public int getButtonCount()

  Returns the number of buttons in the group.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | 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.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.