// Adapted from Bruce Eckel's "Thinking in Java", 3d Ed, Chapter 14 import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.border.*; public class ButtonGroups1 extends JFrame { private static String[] ids = { "Tripp", "Trapp", "Trull", }; public ButtonGroups1() { super("ButtonGroups"); Container cp = getContentPane(); cp.setLayout(new FlowLayout()); ButtonGroup group = new ButtonGroup(); JPanel panel = new JPanel(); panel.setBorder(new TitledBorder("3 x JButton")); for (int i = 0; i < ids.length; i++) { JButton button = new JButton(ids[i]); group.add(button); panel.add(button); } cp.add(panel); group = new ButtonGroup(); panel = new JPanel(); panel.setBorder(new TitledBorder("3 x JToggleButton")); for (int i = 0; i < ids.length; i++) { JToggleButton button = new JToggleButton(ids[i]); group.add(button); panel.add(button); } cp.add(panel); group = new ButtonGroup(); panel = new JPanel(); panel.setBorder(new TitledBorder("3 x JCheckBox")); for (int i = 0; i < ids.length; i++) { JCheckBox button = new JCheckBox(ids[i]); group.add(button); panel.add(button); } cp.add(panel); group = new ButtonGroup(); panel = new JPanel(); panel.setBorder(new TitledBorder("3 x JRadioButton")); for (int i = 0; i < ids.length; i++) { JRadioButton button = new JRadioButton(ids[i]); group.add(button); panel.add(button); } cp.add(panel); } public static void main(String[] args) { ButtonGroups1 frame = new ButtonGroups1(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setVisible(true); } } // class ButtonGroups1