home *** CD-ROM | disk | FTP | other *** search
/ Java 1.2 How-To / JavaHowTo.iso / javafile / ch08 / List1.java < prev    next >
Encoding:
Java Source  |  1998-12-14  |  2.2 KB  |  105 lines

  1.  
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. import javax.swing.event.*;
  6.  
  7. public class List1 extends JPanel
  8.    implements ListSelectionListener
  9. {
  10.     JTextField actField;
  11.     JList list;
  12.  
  13.     public List1()
  14.     {
  15.         String items[] = { "GA", "AL", "DC","NY",
  16.                             "CA","UT","FL"};
  17.  
  18.         JPanel footer;
  19.         JPanel tmp;
  20.  
  21.         setLayout( new BorderLayout());
  22.         setBackground(Color.lightGray);
  23.  
  24.         //Turn on buffering
  25.  
  26.         setDoubleBuffered(true);
  27.         list = new JList(items);
  28.         list.addListSelectionListener(this);
  29.         add(new JScrollPane(list), "Center");
  30.  
  31.         footer = new JPanel();
  32.         footer.setLayout(new GridLayout(3,1,5,5));
  33.  
  34.         tmp = new JPanel();
  35.         tmp.add(new JLabel("Sel values:"));
  36.         actField = new JTextField(20); 
  37.         tmp.add(actField);
  38.  
  39.         footer.add(tmp);
  40.  
  41.         add(footer, "South");
  42.  
  43.     }//constructor
  44.  
  45.     public void valueChanged(ListSelectionEvent e)
  46.     {
  47.         int first, last;
  48.         int i;
  49.         String newVal = "";
  50.         ListModel listData = list.getModel();
  51.         Object selValues[];
  52.  
  53.  
  54.         //Display the selected values
  55.  
  56.         selValues = list.getSelectedValues();
  57.  
  58.         if (selValues != null)
  59.             last = selValues.length;
  60.         else
  61.             last = 0;
  62.  
  63.         newVal = "";
  64.  
  65.         for(i=0;i<last;i++)
  66.         {
  67.             if(i!=0) newVal+=" ";
  68.             newVal += selValues[i].toString();
  69.         }
  70.  
  71.         actField.setText(newVal);
  72.    }
  73.  
  74.    public static void main(String s[])
  75.    {
  76.         JFrame f = new JFrame("List1");
  77.         List1 panel = new List1();
  78.  
  79.         f.setForeground(Color.black);
  80.         f.setBackground(Color.lightGray);
  81.         f.getContentPane().add(panel, "Center");
  82.  
  83.         f.setSize(350,350);
  84.         f.setVisible(true);
  85.         f.addWindowListener(new WindowCloser());
  86.  
  87.  
  88.     }//main
  89.  
  90.  
  91. }//class
  92.  
  93.  
  94. class WindowCloser extends WindowAdapter
  95. {
  96.     public void windowClosing(WindowEvent e)
  97.     {
  98.         Window win = e.getWindow();
  99.         win.setVisible(false);
  100.         win.dispose();
  101.         System.exit(0);
  102.     }//windowClosing
  103. }//class WindowCloser
  104.  
  105.