Event Java

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));
    }
  }
}