JTable 行中的重複值:解決這個謎
為了回應對填充JTable 的明顯重複值的擔憂,進行了詳細的調查顯示底層資料模型確實保存了正確的資料。要了解根本原因,讓我們深入研究提供的程式碼。
自訂 CollectionDataModel 中呼叫 populate() 方法時,資料預計會呈現在表格中。然而,當資料在填充之前被清除時,就會出現問題。這是透過 data.clear().
行完成的。為了進一步說明這一點,讓我們考慮一個範例場景。假設資料模型最初包含兩行,每行有三個列。呼叫 populate() 後,該資料將被清除,使表為空。現在,當迭代新集合時,只有集合中最後一項的資料才會反映在表中。出現這種情況是因為資料模型中的資料欄位只保留了最後一行資料。
因此,JTable 中的每一行都顯示相同的數據,給人一種重複值的錯覺。要解決此問題,可以修改 populate() 方法以跳過資料清除步驟,從而保留現有資料並將新資料附加到表的末尾。
或者,如果必須清除資料在填充資料之前,可以考慮建立一個新的 ArrayList 並將其指派給資料字段,而不是清除現有的資料欄位。這樣,就可以維護正確的數據,而不會導致 JTable 中出現重複值問題。
以上是當基礎資料正確時,為什麼我的 JTable 顯示重複行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!