import javax.swing.*;
import javax.swing.event.*;
class Ty{
public static void main(String arr[]){
String str[]={"Human","Element","Air","Animal","Plant"};
JList<String> jlist=new JList<String>(str);
jlist.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//setSelectionMode()无论设置哪个参数都和没有进行设置一样,毫无作用。
jlist.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){
System.out.println(str[((JList)e.getSource()).getSelectedIndex()]);
}
});
JScrollPane jsp=new JScrollPane(jlist);
JFrame jframe=new JFrame();
jframe.add(jsp);
jframe.setSize(250,150);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
}
}到底是哪里出现了问题?顺便一提,用鼠标对JList的项目进行选择时,mouseDown会触发一次valueChanged(),mouseUp也会触发一次valuechanged(),也就是click一次会触发valueChanged()方法两次,这是正常的吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...