| 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. |
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?"));
isSelected.addItemListener. ItemListeners are called both
the button is selected and automatically deselected.addActionListener. ActionListeners are called only
when a button is selected.
boolean b;
JRadioButton rb = new JRadioButton("Sample", false);
b = rb.isSelected();
rb.setSelected(b);
rb.addActionListener(an-action-listener);
rb.addItemListener(an-item-listener);
add(),
but it's also possible to get or set the selected button.
JRadioButton rb = new JRadioButton("Sample", false);
ButtonGroup bgroup = new ButtonGroup();
bgroup.add(JRadioButton rb);
JRadioButton rb = bgroup.getSelectedJRadioButton();
bgroup.setSelectedJRadioButton(rb);