我有一个JList,其中每个选项增加一个变量并做一些其他简单的事情。我的ListSelectionListener
使用鼠标在每次选择时运行两次,因此我将条件if(!getValueIsAdjusting())
在每次点击选择中仅在侦听器中运行我的代码一次。现在,一旦我选择,例如,选项1它运行良好,但如果我想再次选择此选项没有任何反应。所以基本上我不能连续两次选择相同的选项。 (如果我回到之前选择的选择,没有问题)。欢迎任何解决方案。提前致谢
答案 0 :(得分:0)
我找到了问题的解决方案,我想与你们分享。 在完成 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();}