1
我使用ListSelectionListener来监听JTable的选择,以执行与表中选定项目相关的其他任务。但是为什么下面的代码在开始时的一个选择中执行了两次,并且在该表正在更新后多次执行了?与ListSelectionListener相关
public void valueChanged(ListSelectionEvent e)
System.out.println(tablelist.getSelectedIndex());
}
+1并考虑常读)e.getValueIsAdjusting的'值(' –
是它引发两个事件。但我的情况是这样的:1)我写了一个数据库函数,它将返回一个Jtable的模型。2)我将调用该函数,并将我的自定义侦听器设置为由函数。3)稍后,当数据库更新为新行时,将重复执行步骤2.现在,在此情况下,将执行以下代码多次: public void valueChanged(ListSelectionEvent e) System.out.println(tablelist。 getSelectedIndex()); } – svkvvenky
必须拆分为1)数据库 - >只能从JTable单元格更改值可以保存,2)JTables查看v.s. TableModel(所有更改必须在EDT上完成)3)最小化Listener对数据库v.s.的影响。 JTable中 – mKorbel