Grouping JRadioButton Components in a ButtonGroup : JRadioButton « Swing « Java Tutorial






Grouping JRadioButton Components in a ButtonGroup
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.Border;

class RadioButtonUtils {
  public static Container createRadioButtonGrouping(String elements[], String title) {
    JPanel panel = new JPanel(new GridLayout(0, 1));

    if (title != null) {
      Border border = BorderFactory.createTitledBorder(title);
      panel.setBorder(border);
    }

    ButtonGroup group = new ButtonGroup();
    JRadioButton aRadioButton;

    for (int i = 0, n = elements.length; i < n; i++) {
      aRadioButton = new JRadioButton(elements[i]);
      panel.add(aRadioButton);
      group.add(aRadioButton);
    }
    return panel;
  }
}

public class GroupJRadioButton {
  private static final String sliceOptions[] = { "4", "8", "12", "16" };

  private static final String crustOptions[] = { "A", "B", "C", "D" };

  public static void main(String args[]) {

    JFrame frame = new JFrame("Grouping Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container sliceContainer = RadioButtonUtils.createRadioButtonGrouping(sliceOptions,
        "Slice Count");
    Container crustContainer = RadioButtonUtils.createRadioButtonGrouping(crustOptions,
        "Crust Type");
    frame.add(sliceContainer, BorderLayout.WEST);
    frame.add(crustContainer, BorderLayout.EAST);
    frame.setSize(300, 200);
    frame.setVisible(true);
  }
}








14.9.JRadioButton
14.9.1.Creating JRadioButton Components
14.9.2.Using JRadioButtonUsing JRadioButton
14.9.3.Grouping JRadioButton Components in a ButtonGroupGrouping JRadioButton Components in a ButtonGroup
14.9.4.Determining the Selected JRadioButton in a Button Group
14.9.5.Listening to JRadioButton Events with an ActionListenerListening to JRadioButton Events with an ActionListener
14.9.6.Reference to the last selected item and check for reselectionReference to the last selected item and check for reselection
14.9.7.Listening to JRadioButton Events with a ChangeListenerListening to JRadioButton Events with a ChangeListener
14.9.8.Listening to JRadioButton Events with an ItemListenerListening to JRadioButton Events with an ItemListener
14.9.9.Event sequence: Action Event, Item Event and Change EventEvent sequence: Action Event, Item Event and Change Event
14.9.10.Getting selected JRadioButton in a containerGetting selected JRadioButton in a container
14.9.11.Customizing JRadioButton Look and Feel