SelectionMonitor.java Source code

Java tutorial

Introduction

Here is the source code for SelectionMonitor.java

Source

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