javax.swing
Class ButtonGroup

java.lang.Object
  extended by javax.swing.ButtonGroup
All Implemented Interfaces:
Serializable

public class ButtonGroup
extends Object
implements Serializable

Logically groups a set of buttons, so that only one of the buttons in a ButtonGroup can be selected at the same time. If one button in a ButtonGroup is selected, all other buttons are automatically deselected. While ButtonGroup can be used for all buttons that are derived from AbstractButton, it is normally only used for JRadioButtons, JRadioButtonMenuItems and JToggleButtons. You could use it for JCheckBoxes, but for the sake of usability this is strongly discouraged because the common expectation of checkboxes is that the user is allowed to make multiple selections. It makes no sense to put JButtons or JMenuItems in a ButtonGroup because they don't implement the selected semantics.

See Also:
Serialized Form

Field Summary
protected  Vector<AbstractButton> buttons
          Stores references to the buttons added to this button group.
 
Constructor Summary
ButtonGroup()
          Creates a new button group.
 
Method Summary
 void add(AbstractButton b)
          Adds a button to this group.
 int getButtonCount()
          Return the number of buttons in this button group.
 Enumeration<AbstractButton> getElements()
          Returns the currently added buttons.
 ButtonModel getSelection()
          Returns the currently selected button model.
 boolean isSelected(ButtonModel m)
          Checks if the given ButtonModel is selected in this button group.
 void remove(AbstractButton b)
          Removes the specified button from this group.
 void setSelected(ButtonModel m, boolean b)
          Sets the currently selected button model.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

buttons

protected Vector<AbstractButton> buttons
Stores references to the buttons added to this button group.

Constructor Detail

ButtonGroup

public ButtonGroup()
Creates a new button group.

Method Detail

add

public void add(AbstractButton b)
Adds a button to this group. If the button is in the selected state, then:

Parameters:
b - the button to add (null is ignored).

remove

public void remove(AbstractButton b)
Removes the specified button from this group. If the button is the selected button, the current selection is set to null. The group for the removed button's model is set to null.

Parameters:
b - the button to remove (null is ignored).

getElements

public Enumeration<AbstractButton> getElements()
Returns the currently added buttons.

Returns:
Enumeration over all added buttons

getSelection

public ButtonModel getSelection()
Returns the currently selected button model.

Returns:
the currently selected button model, null if none was selected yet

setSelected

public void setSelected(ButtonModel m,
                        boolean b)
Sets the currently selected button model. Only one button of a group can be selected at a time.

Parameters:
m - the model to select
b - true if this button is to be selected, false otherwise

isSelected

public boolean isSelected(ButtonModel m)
Checks if the given ButtonModel is selected in this button group.

Parameters:
m - the button model (null permitted).
Returns:
true if m is the selected button model in this group, and false otherwise.

getButtonCount

public int getButtonCount()
Return the number of buttons in this button group.

Returns:
the number of buttons
Since:
1.3