我有一个JTable,它在进行某些搜索时被填充。我试图添加一个TableModelListener,但是每更新一行/每列都会调用一次。
但是,无论插入多少行,我都希望在更新表时仅调用一次侦听器。
最佳答案
TableModelListener
是JTable
所有事件的插孔,包括插入,更新,删除以及全部事件。您需要检查TableModelEvent
并使用属性来确定触发了哪种类型的事件。
从查看TableModelEvent
和AbstractTableModel
的源代码来看,当tableDataChanged
等于TableModelEvent#getType
并且TableModelEvent.UPDATE
等于TabelModelEvent#geColumn
时,似乎可以识别TableModelEvent.ALL_COLUMNS
事件。