1 import java.awt.event.MouseListener;
2 import java.awt.event.MouseEvent;
3 import javax.swing.JList;
4 import javax.swing.JTextArea;
5 import java.awt.BorderLayout;
6 import javax.swing.JFrame;
7 import javax.swing.event.ListSelectionEvent;
8 import javax.swing.event.ListSelectionListener;
9
10 class ExMyFrame64 extends JFrame implements MouseListener, ListSelectionListener {
11
12 JList list;
13 JTextArea tArea;
14 String [] course = {"语文","数学","生物","英语"};
15 String [] courseBrief =
16 {
17 "语文是一门语言的艺术教学课程",
18 "数学是一门数字旅行的交通工具",
19 "生物是一门人与自然的画卷",
20 "English is an ABC's Poem"
21 };
22 String [] courseTime = {"08:00", "11:00", "14:00" ,"16:00"};
23
24 ExMyFrame64(){
25 setSize(400,300);
26 setTitle("JList单击与双击练习");
27 list = new JList(course);
28 tArea = new JTextArea("请选择课程,单击显示课程简介,双击显示课程时间");
29 setLayout(new BorderLayout());
30
31 this.add(list, BorderLayout.NORTH); this.add(tArea,BorderLayout.CENTER);
32
33 //list.addActionListener(this); // JList没有addActionListener()方法
34 list.addMouseListener(this);
35 list.addListSelectionListener(this);
36 }
37
38 @Override
39 public void valueChanged(ListSelectionEvent e) {
40 // TODO Auto-generated method stub
41 // 单击选择事件
42 tArea.setText(courseBrief[list.getSelectedIndex()]);
43 }
44
45 @Override
46 public void mouseClicked(MouseEvent e) {
47 // TODO Auto-generated method stub
48 //双击选择事件
49 if (e.getClickCount() == 2) {
50 tArea.setText(course[list.getSelectedIndex()] + "的开课时间是 " + courseTime[list.getSelectedIndex()]);
51 }
52 }
53 /* 实现了MouseListener接口需要实现抽象方法 */
54 @Override
55 public void mouseEntered(MouseEvent e) {
56 // TODO Auto-generated method stub
57 }
58 @Override
59 public void mouseExited(MouseEvent e){}
60
61 @Override
62 public void mousePressed(MouseEvent e) {
63 // TODO Auto-generated method stub
64 }
65
66 @Override
67 public void mouseReleased(MouseEvent e) {
68 // TODO Auto-generated method stub
69 }
70
71 }