我有一个 JList,其中每个选项都会递增一个变量并执行一些其他简单的操作。我的 ListSelectionListener
使用鼠标在每次选择时运行两次,因此我设置了条件 if(!getValueIsAdjusting())
在每次点击选择时在监听器内运行我的代码一次。现在,例如,一旦我选择选项 1,它就会运行良好,但如果我想再次选择此选项,则什么也不会发生。所以基本上我不能连续两次选择相同的选项。 (如果我回到之前选择的选项是没有问题的)。欢迎任何解决方案。提前致谢
最佳答案
我找到了解决该问题的方法,想与大家分享。 在完成 valueChanged 方法内的操作后,我调用该方法 clearSelection()。这会将所选索引设置为 -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();}
关于java - getValueIsAdjusting() 在 JList 中禁用,但现在我无法连续两次选择一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34431696/