Java: Radio Buttons
|
Radio buttons (javax.swing.JRadioButton) are used in groups (java.awt.ButtonGroup)
where at most one can be selected.
The example below produced this image.
A radio button group starts with all buttons deselected, but after one is
selected the only way to have them appear all off is to have an invisible button
that is selected by the program.
|
Source code for above example
This example creates a group of three radio buttons, puts them
in a grid layout on a panel, and puts a titled, etched border around them.
JRadioButton yesButton = new JRadioButton("Yes" , true);
JRadioButton noButton = new JRadioButton("No" , false);
JRadioButton maybeButton = new JRadioButton("Maybe", false);
ButtonGroup bgroup = new ButtonGroup();
bgroup.add(yesButton);
bgroup.add(noButton);
bgroup.add(maybeButton);
JPanel radioPanel = new JPanel();
radioPanel.setLayout(new GridLayout(3, 1));
radioPanel.add(yesButton);
radioPanel.add(noButton);
radioPanel.add(maybeButton);
radioPanel.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(), "Married?"));
Testing the status of radio buttons
There are several ways to find out about radio button states:
- During execution, test the radio button with
isSelected()
.
- In the setup phase, add an action listener with
addActionListener(...)
.
ActionListeners are called when a radio button is selected.
- In the setup phase, add an item listener with
addItemListener
.
ItemListeners are called both when
the radio button is selected and (automatically) deselected.
JRadioButton methods
boolean b;
JRadioButton rb = new JRadioButton("Sample", false);
Common JRadioButton methods
b = | rb.isSelected(); |
Returns true if that button is selected. |
| rb.setSelected(b); |
Sets selected status of a radio button to b (true/false). |
| rb.addActionListener(an-action-listener); |
Adds an action listener to the radio button. The action listener will be called if button is selected. |
| rb.addItemListener(an-item-listener); |
Add an item listener to a radio button. The item listener will be called if the button is selected or deselected. |
ButtonGroup methods
The most common method used for a button group is
add()
,
but it's also possible to get or set the selected button.
Assume:
JRadioButton rb = new JRadioButton("Sample", false);
ButtonGroup bgroup = new ButtonGroup();
Common ButtonGroup methods
| bgroup.add(rb); |
Adds a button to a radio button group. |
rb = | bgroup.getSelectedJRadioButton(); |
Returns the radio button which is currently selected. |
| bgroup.setSelectedJRadioButton(rb); |
Sets the status of a particular radio button (unsetting others). |