【Java】javax.swing.JList 练习
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 }