[英]Which exception to throw if a method is called again when it must only be called once?
[英]Add a Listener to Jtable which is called once and only once when the table is populated
我有一個JTable,它在進行某些搜索時被填充。 我試圖添加一個TableModelListener,但是每更新一行/每列都會調用一次。
但是,無論插入多少行,我都希望在更新表時僅調用一次偵聽器。
TableModelListener
是JTable
所有事件的插孔,包括插入,更新,刪除,全部。 您需要檢查TableModelEvent
並使用屬性來確定觸發了哪種類型的事件。
從在看看的源代碼TableModelEvent
和AbstractTableModel
,它似乎是在tableDataChanged
事件可以被識別時TableModelEvent#getType
等於TableModelEvent.UPDATE
和TabelModelEvent#geColumn
等於TableModelEvent.ALL_COLUMNS
我有一個JTable,它在進行某些搜索時被填充
搜索意味着邏輯代碼塊,該邏輯代碼塊一次查找要插入表中的數據行。
但是,無論插入多少行,我都希望在更新表時僅調用一次偵聽器。
如果使用addRow(...)方法,則會為每一行生成一個事件。 如果您不喜歡這樣,則不要一次添加一行。
而是創建要添加的行的列表,然后在TableModel中創建insertRows(...)
方法。 然后,此方法將只生成一個事件。
例如,檢查在“ 行表模型”中找到的insertRows(...)
方法。 您將需要在TableModel中添加這樣的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.