import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import java.util.Vector;import javax.swing.*;public class Test extends JFrame { private JComboBox com = null; private String[] str = { "水果", "蔬菜" }; private JList list = null; private DataModel data = null; public Test() { com = new JComboBox(str); com.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { select(); } }); data = new DataModel(); list = new JList(data); this.select(); this.getContentPane().add(com, BorderLayout.NORTH); this.getContentPane().add(list); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(300, 200); this.setVisible(true); } public void select() { if (com.getItemAt(com.getSelectedIndex()).equals("水果")) { data.removeAll(); data.addData("苹果"); data.addData("西瓜"); data.addData("人参果"); } if (com.getItemAt(com.getSelectedIndex()).equals("蔬菜")) { data.removeAll(); data.addData("黄瓜"); data.addData("白菜"); data.addData("西葫芦"); } list.updateUI(); } public static void main(String[] args) { new Test(); } }class DataModel extends AbstractListModel { private Vector data = null; public DataModel() { data = new Vector(); } public DataModel(Object[] listData) { data = new Vector(); for (int i = 0; i < listData.length; i++) { data.add(listData[i]); } } public void addData(Object o) { data.add(o); } public void removeIndex(int index) { data.remove(index); } public void removeAll() { data = new Vector(); } public int getSize() { return data.size(); } public Object getElementAt(int index) { return data.get(index); } }
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import java.util.Vector;import javax.swing.*;public class Test extends JFrame { private JComboBox com = null; private String[] str = { "水果", "蔬菜" }; private JList list = null; private DataModel data = null; public Test() {
com = new JComboBox(str);
com.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
select();
}
});
data = new DataModel();
list = new JList(data);
this.select();
this.getContentPane().add(com, BorderLayout.NORTH);
this.getContentPane().add(list);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300, 200);
this.setVisible(true);
} public void select() {
if (com.getItemAt(com.getSelectedIndex()).equals("水果")) {
data.removeAll();
data.addData("苹果");
data.addData("西瓜");
data.addData("人参果");
}
if (com.getItemAt(com.getSelectedIndex()).equals("蔬菜")) {
data.removeAll();
data.addData("黄瓜");
data.addData("白菜");
data.addData("西葫芦");
}
list.updateUI();
} public static void main(String[] args) {
new Test();
}
}class DataModel extends AbstractListModel { private Vector data = null; public DataModel() {
data = new Vector();
} public DataModel(Object[] listData) {
data = new Vector();
for (int i = 0; i < listData.length; i++) {
data.add(listData[i]);
}
} public void addData(Object o) {
data.add(o);
} public void removeIndex(int index) {
data.remove(index);
} public void removeAll() {
data = new Vector();
} public int getSize() {
return data.size();
} public Object getElementAt(int index) {
return data.get(index);
}
}