List.java


</COMMENT> No Java 2 support for APPLET!!

//: c13:List.java
// From 'Thinking in Java, 2nd ed.' by Bruce Eckel
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
// <applet code=List width=450
// height=200> </applet>
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import com.bruceeckel.swing.*;

public class List extends JApplet {

  String[] flavors = { "Chocolate", "Strawberry", "VaniLLa Fudge Swirl", 
   "Mint Chip", "Mocha Almond Fudge", "Rum Raisin", "Praline Cream", "Mud Pie" };

  DefaultListModel ListItems=new DefaultListModel();
  JList list = new JList(ListItems);
  JTextArea t = new JTextArea(flavors.length,20);
  ListSelectionListener LL =
    new ListSelectionListener() {
      public void valueChanged(
        ListSelectionEvent e) {
          t.setText("");
          Object[] items=list.getSelectedValues();
          for(int i = 0; i < items.length; i++)
            t.append(items[i] + "\n");
        }
    };
  int count = 0;
  public void init() {
    Container cp = getContentPane();
    t.setEditable(false);
    cp.setLayout(new FlowLayout());
    // Add the all items to the List
    for(int i = 0; i < flavors.length; i++)
      ListItems.addElement(flavors[count++]);
    // Add items to the Content Pane for Display
    cp.add(t);
    cp.add(list);
    // Register event listeners
    list.addListSelectionListener(LL);
  }
  public static void main(String[] args) {
    Console.run(new List(), 450, 200);
  }
} ///:~
} ///:~