没有怎么用过Swing,今天写一个工具时用到它了,用addListSelectionListener给JList加了个事件监听器,响应处理代码如下
public void valueChanged(ListSelectionEvent e) {
System.out.println("a");
}
奇怪的事每选择一个选择项时,事件都响应两次,后来查了下,有人解释是这个事件响应的意思是,一个选项被选中,触发一次事件,另外以前被选中的选项同时也被取消了,所以又执行了一次事件,共两次,个人觉得有理,后面再研究下,现在记录,处理方法是
if(!e.getValueIsAdjusting()){
System.out.println("a");
}
public void valueChanged(ListSelectionEvent e) {
System.out.println("a");
}
奇怪的事每选择一个选择项时,事件都响应两次,后来查了下,有人解释是这个事件响应的意思是,一个选项被选中,触发一次事件,另外以前被选中的选项同时也被取消了,所以又执行了一次事件,共两次,个人觉得有理,后面再研究下,现在记录,处理方法是
if(!e.getValueIsAdjusting()){
System.out.println("a");
}
本文探讨了使用Swing的JList组件时遇到的问题:为何每次选择列表项时会触发两次valueChanged事件。文中提供了具体的代码示例,并解释了这一现象的原因及解决方法。
443

被折叠的 条评论
为什么被折叠?



