The Java Program: CheckList.java

  1 import java.awt.Component;
  2 
  3 import javax.swing.JFrame;
  4 import javax.swing.JList;
  5 import javax.swing.JCheckBox;
  6 import javax.swing.JScrollPane;
  7 import javax.swing.ListCellRenderer;
  8 import javax.swing.ListSelectionModel;
  9 import javax.swing.event.ListSelectionListener;
 10 import javax.swing.event.ListSelectionEvent;
 11 
 12 class CellRenderer extends JCheckBox implements ListCellRenderer {
 13 
 14    public static final String db [] = {
 15       "Eli Card",
 16       "Elisha Card",
 17       "Frederick Eli Card",
 18       "Henry Truman Card",
 19       "Williams Card",
 20       "Julia Pickard Deforge",
 21       "Toussaint Deforge",
 22       "Mariah Hooker",
 23       "Annatasia S. Pendergast",
 24       "William Martin Pendergast",
 25       "Hallock Thomas Spaulding",
 26       "Lillian Maud Spaulding",
 27       "Thomas Spaulding",
 28       "Emma Parks Deal Wright",
 29       "John Wesley Wright"
 30    };
 31 
 32    public Component getListCellRendererComponent (
 33       JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
 34       setText (" " + db[index]);
 35       setSelected (isSelected);
 36       return (this);
 37    }
 38 }
 39 
 40 public class CheckList {
 41 
 42    public static void main (String [] args) {
 43       final JList list = new JList (CellRenderer.db);
 44       list.setSelectionMode (ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
 45       list.setCellRenderer (new CellRenderer());
 46 
 47       class LL implements ListSelectionListener {
 48          public void valueChanged (ListSelectionEvent e) {
 49             if (e.getValueIsAdjusting()==true) return;
 50             final JList l = (JList) e.getSource();
 51             final Object [] selected = l.getSelectedValues();
 52             System.out.println ();
 53             for (int i=0; i<selected.length; i++) {
 54                System.out.println (selected[i]);
 55             }
 56          }
 57       }
 58       list.addListSelectionListener (new LL ());
 59 
 60       final JFrame frame = new JFrame ("Swing JList Demo");
 61       frame.getContentPane().add (new JScrollPane (list));
 62       frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); // Requires Java 1.3
 63       frame.setSize(200,300);
 64       frame.pack();
 65       frame.setVisible (true);
 66    }
 67 }