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