Java getValueIsAdjusting()在JList中禁用,但现在我无法连续两次选择一个选项
我有一个JList,其中每个选项递增一个变量,并执行一些其他简单的操作。MyJava getValueIsAdjusting()在JList中禁用,但现在我无法连续两次选择一个选项,java,jlist,listselectionlistener,Java,Jlist,Listselectionlistener,我有一个JList,其中每个选项递增一个变量,并执行一些其他简单的操作。MyListSelectionListener使用鼠标在每次选择时运行两次,因此我将条件if(!getValueIsAdjusting())设置为每次单击选择时在侦听器内运行一次我的代码。现在,一旦我选择了,例如,选项1,它运行良好,但如果我想再次选择这个选项,什么都不会发生。所以基本上我不能一行选择两次相同的选项。(如果我回到以前选择过的选项,就没有问题了)。欢迎任何解决办法。提前感谢我找到了问题的解决方案,我想与大家分享
ListSelectionListener
使用鼠标在每次选择时运行两次,因此我将条件if(!getValueIsAdjusting())
设置为每次单击选择时在侦听器内运行一次我的代码。现在,一旦我选择了,例如,选项1,它运行良好,但如果我想再次选择这个选项,什么都不会发生。所以基本上我不能一行选择两次相同的选项。(如果我回到以前选择过的选项,就没有问题了)。欢迎任何解决办法。提前感谢我找到了问题的解决方案,我想与大家分享。
在valueChanged方法中执行这些操作后,我调用该方法
清除选举()。这会将所选索引设置为-1。为了处理由此产生的错误,我在if条件中添加了getSelectedIndex()>=0。因此,代码:
private class KategoriHandler implements ListSelectionListener{
public void valueChanged(ListSelectionEvent e) { if(!e.getValueIsAdjusting()&&kategori.getSelectedIndex()>=0){
//do the stuff;
kategori.clearSelection();}
我找到了解决问题的方法,我想和你们分享。 在valueChanged方法中执行这些操作后,我调用该方法 清除选举()。这会将所选索引设置为-1。为了处理由此产生的错误,我在if条件中添加了getSelectedIndex()>=0。因此,代码:
private class KategoriHandler implements ListSelectionListener{
public void valueChanged(ListSelectionEvent e) { if(!e.getValueIsAdjusting()&&kategori.getSelectedIndex()>=0){
//do the stuff;
kategori.clearSelection();}
请您添加相关代码,好吗。