Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getValueIsAdjusting()在JList中禁用,但现在我无法连续两次选择一个选项_Java_Jlist_Listselectionlistener - Fatal编程技术网

Java getValueIsAdjusting()在JList中禁用,但现在我无法连续两次选择一个选项

Java getValueIsAdjusting()在JList中禁用,但现在我无法连续两次选择一个选项,java,jlist,listselectionlistener,Java,Jlist,Listselectionlistener,我有一个JList,其中每个选项递增一个变量,并执行一些其他简单的操作。MyListSelectionListener使用鼠标在每次选择时运行两次,因此我将条件if(!getValueIsAdjusting())设置为每次单击选择时在侦听器内运行一次我的代码。现在,一旦我选择了,例如,选项1,它运行良好,但如果我想再次选择这个选项,什么都不会发生。所以基本上我不能一行选择两次相同的选项。(如果我回到以前选择过的选项,就没有问题了)。欢迎任何解决办法。提前感谢我找到了问题的解决方案,我想与大家分享

我有一个JList,其中每个选项递增一个变量,并执行一些其他简单的操作。My
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();}

请您添加相关代码,好吗。