The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.
The ButtonGroup
component manages the selected/unselected state for a set of buttons. For the group, the ButtonGroup
instance guarantees that only one button can be selected at a time.
Initially, all buttons managed by a ButtonGroup
instance are unselected.
You can use ButtonGroup
with any set of objects that inherit from AbstractButton
. Typically a button group contains instances of JRadioButton, JRadioButtonMenuItem
, or JToggleButton
. It would not make sense to put an instance of JButton
or JMenuItem
in a button group because JButton
and JMenuItem
do not implement the select/deselect button state.
In general, you will typically follow these steps to write code that uses a ButtonGroup
component.
JFrame
ContextPane
together with a layout managerButtonGroup
objectadd
method on that buttongroup object in order to add each button to the group.For details and a code example, see
How to Use Radio Buttons. It shows how to use a ButtonGroup
component to group a set of RadioButtons set into a JPanel.
Constructor or Method | Purpose |
---|---|
ButtonGroup() | Create a ButtonGroup instance. |
void add(AbstractButton) void remove(AbstractButton) |
Add a button to the group, or remove a button from the group. |
public ButtonGroup getGroup() (in DefaultButtonModel ) |
Get the ButtonGroup , if any, that controls a button. For example:ButtonGroup group = ((DefaultButtonModel)button.getModel()).getGroup(); |
public ButtonGroup clearSelection() | Clears the state of selected buttons in the ButtonGroup. None of the buttons in the ButtonGroup are selected . |
The following demonstration application uses the ButtonGroup component to group radio buttons displaying on a Window.
Example | Where Described | Notes |
---|---|---|
RadioButtonDemo |
How to Use Radio Buttons | Uses radio buttons to determine which of five images it should display. |