1 import java.awt.event.ActionEvent;
2 import java.awt.event.ActionListener;
3 import java.awt.event.ItemEvent;
4 import java.awt.event.ItemListener;
5 import javax.swing.JComboBox;
6 import javax.swing.JTextField;
7 import javax.swing.JFrame;
8 import java.awt.BorderLayout;
9
10 class ExMyFrame65 extends JFrame implements ItemListener, ActionListener {
11 JComboBox comboBox ;
12 JTextField tf ;
13 String[] course = {"语文","数学","物理","英语"};
14
15 ExMyFrame65(){
16 super.setSize(400,300);
17 super.setTitle("JComBox组合框练习");
18 super.setLayout(new BorderLayout());
19 comboBox = new JComboBox(course);
20 tf = new JTextField("请选择课程");
21 add(comboBox, BorderLayout.NORTH);
22 add(tf, BorderLayout.CENTER);
23
24 comboBox.setEditable(true); //允许组合框编辑输入
25
26 comboBox.addItemListener(this); //单选的时候是addItemListener()
27 comboBox.addActionListener(this); //输入选项的时候addActionListener()
28
29 }
30
31 @Override
32 public void actionPerformed(ActionEvent arg0) {
33 // TODO Auto-generated method stub
34 if (arg0.getSource() == comboBox)
35 tf.setText("选择了" + course[comboBox.getSelectedIndex()]);
36 }
37
38 @Override
39 public void itemStateChanged(ItemEvent arg0) {
40 // TODO Auto-generated method stub
41 if (arg0.getSource() == comboBox)
42 tf.setText("选择了" + course[comboBox.getSelectedIndex()]);
43 }
44
45 }