如何让我选择水果列表框就显示水果列表,选择蔬菜列表框就显示蔬菜列表呢
import java.awt.*;
import java.awt.event.*;class MyPanel1 extends Panel implements ItemListener
{
    Choice c;
    List l;
    List l2;
    MyPanel1()
    {    Choice c=new Choice();
    c.addItem("水果");
    c.addItem("蔬菜");
    List l=new List(10);
    l.add("苹果");
    l.add("菠萝");
    List l2=new List(10);
    l2.add("黄瓜");
    l2.add("冬瓜");
    l2.setVisible(false);
    add(c);
    add(l);
    add(l2);
    c.addItemListener(this);
    }    public void itemStateChanged(ItemEvent e)
    {
       //String[] items=l.getSelectedItems();
    }
}class MyFrame1 extends Frame
{
    MyFrame1()
    {
        setTitle("列表框&选择框的应用");
        setSize(400,400);
        MyPanel1 Panel1=new MyPanel1();
        add(Panel1);
    }
}public class Test4
{
 public static void main(String[] args)
 {
       MyFrame1 s1=new MyFrame1();
       s1.setVisible(true);
  }
}

解决方案 »

  1.   

    做2个ListModel,一个叫水果Model,一个叫蔬菜Model,你选水果时,就List的ListModel设为水果Model,蔬菜同样。
      

  2.   

    public void itemStateChanged(ItemEvent e)
        {
           //String[] items=l.getSelectedItems();
              if (e.getSource().equals(c))          {
    String s;
             s=    e.getItemSelectable().toString();
              switch (s)
            {
                    case "":
                            l.add();
                            break;
                     case "":
                           l2.add;
                           break;         
    }
                      
              }
    参考一下.............
            
        }
      

  3.   

    import java.awt.*;
    import java.awt.event.*;
    class Test 
    {
    Test()
    {
    Choice ch1=new Choice();
    Choice ch2=new Choice();
    ch1.add("蔬菜");
    ch1.add("水果");
    Panel p=new Panel();
    p.add(ch1);
    p.add(ch2);
    Frame f=new Frame();
    f.add(p);
    f.setSize(300,300);
    f.show();
    ch1.addItemListener(new MyAdapter());

    }
    private class MyAdapter implements ItemListener
    {
    public void itemStateChanged(ItemEvent e)
    {
    System.out.println(e.getItem().toString());
    }
    }
    public static void main(String []args)
    {

    new Test();
    }
    }
      

  4.   

    package testwithnb;
    import javax.swing.DefaultListModel;
    public class ChoiceFrame extends javax.swing.JFrame {
        private DefaultListModel lm1 = new DefaultListModel();
        private DefaultListModel lm2 = new DefaultListModel();
        
        public ChoiceFrame() {
            initComponents();
            lm1.addElement("香蕉");
            lm1.addElement("橘子");
            lm1.addElement("苹果");
            lm2.addElement("白菜");
            lm2.addElement("辣椒");
        }
        
        private void initComponents() {
            jPanel1 = new javax.swing.JPanel();
            jList1 = new javax.swing.JList();
            jList2 = new javax.swing.JList();        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            jPanel1.setLayout(new java.awt.GridLayout(1, 2));        jList1.setModel(new javax.swing.AbstractListModel() {
                String[] strings = { "水果", "蔬菜" };
                public int getSize() { return strings.length; }
                public Object getElementAt(int i) { return strings[i]; }
            });
            jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
            jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
                public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
                    jList1ValueChanged(evt);
                }
            });        jPanel1.add(jList1);        jPanel1.add(jList2);        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);        pack();
        }    private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {
            if(jList1.getSelectedValue().equals("水果"))
            {
                jList2.setModel(lm1);
            }
            else
            {
                jList2.setModel(lm2);
            }
        }
        
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new ChoiceFrame().setVisible(true);
                }
            });
        }
        
        private javax.swing.JList jList1;
        private javax.swing.JList jList2;
        private javax.swing.JPanel jPanel1;
        
    }