Java tutorial
import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class SelectionMonitor extends JPanel { String label[] = { "1", "2", "3" }; JCheckBox checks[] = new JCheckBox[label.length]; JList list = new JList(label); public SelectionMonitor() { JScrollPane pane = new JScrollPane(list); add(pane); list.addListSelectionListener(new RadioUpdater()); for (int i = 0; i < label.length; i++) { checks[i] = new JCheckBox("Selection " + i); add(checks[i]); } } public static void main(String s[]) { JFrame frame = new JFrame("Selection Monitor"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(new SelectionMonitor()); frame.pack(); frame.setVisible(true); } } class RadioUpdater implements ListSelectionListener { public void valueChanged(ListSelectionEvent e) { if ((!e.getValueIsAdjusting()) || (e.getFirstIndex() == -1)) return; for (int i = e.getFirstIndex(); i <= e.getLastIndex(); i++) { System.out.println(((JList) e.getSource()).isSelectedIndex(i)); } } }