Ask Questions?

View Latest Questions

Advertisement


 
 

Radio Buttons
Posted on: July 22, 2006 at 12:00 AM
Creates a group of three radio buttons.

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:
  • Test the radio button with isSelected.
  • Add an item listener with addItemListener. ItemListeners are called both the button is selected and automatically deselected.
  • Add an action listener with addActionListener. ActionListeners are called only when a button is selected.

Common JRadioButton methods

boolean b;
JRadioButton rb = new JRadioButton("Sample", false);

b = rb.isSelected();
rb.setSelected(b);
rb.addActionListener(an-action-listener);
rb.addItemListener(an-item-listener);

Common 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.
JRadioButton rb = new JRadioButton("Sample", false);
ButtonGroup bgroup = new ButtonGroup();

bgroup.add(JRadioButton rb);
JRadioButton rb = bgroup.getSelectedJRadioButton();
bgroup.setSelectedJRadioButton(rb);
Copyleft 2003 Fred Swartz MIT License, Last update: 2002-12-27
Advertisement


DMCA.com