簡體   English   中英

向Jtable添加一個偵聽器,該偵聽器在填充表時一次調用一次

[英]Add a Listener to Jtable which is called once and only once when the table is populated

我有一個JTable,它在進行某些搜索時被填充。 我試圖添加一個TableModelListener,但是每更新一行/每列都會調用一次。

但是,無論插入多少行,我都希望在更新表時僅調用一次偵聽器。

TableModelListenerJTable所有事件的插孔,包括插入,更新,刪除,全部。 您需要檢查TableModelEvent並使用屬性來確定觸發了哪種類型的事件。

從在看看的源代碼TableModelEventAbstractTableModel ,它似乎是在tableDataChanged事件可以被識別時TableModelEvent#getType等於TableModelEvent.UPDATETabelModelEvent#geColumn等於TableModelEvent.ALL_COLUMNS

我有一個JTable,它在進行某些搜索時被填充

搜索意味着邏輯代碼塊,該邏輯代碼塊一次查找要插入表中的數據行。

但是,無論插入多少行,我都希望在更新表時僅調用一次偵聽器。

如果使用addRow(...)方法,則會為每一行生成一個事件。 如果您不喜歡這樣,則不要一次添加一行。

而是創建要添加的行的列表,然后在TableModel中創建insertRows(...)方法。 然后,此方法將只生成一個事件。

例如,檢查在“ 行表模型”中找到的insertRows(...)方法。 您將需要在TableModel中添加這樣的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM