儘管資料模型中的資料正確,為什麼我的 JTable 仍顯示重複的行?
使用重複值填充JTable
儘管具有包含適當數據的正確數據模型,但填充JTable 可能會導致每一行都包含重複值,從而引發對數據的擔憂完整性。
檢查資料模型
最初,懷疑下降在自訂資料模型 CollectionDataModel 上。 populate() 方法的行為似乎符合預期,清除現有資料並用集合中的項目填充它,每個項目都儲存在 ArrayList
JTable 填充的注意事項
要正確填充JTable,應保留以下注意事項請記住:
- getValueAt(rowIndex, columnIndex) 應該回傳指定的正確值
- getColumnCount() 和getRowCount()應準確反映數據的大小。
- 資料模型應反映透過 populate() 方法的更新。
調查 JTable 實作
如果資料模型或 JTable 實作不正確,可能會出現 JTable 填充問題已更新。 JTable 可能未正確利用資料模型的方法,從而導致錯誤填充。
解決問題
要解決問題,請仔細檢查 CollectionDataModel 實作以確保其符合合約。此外,檢查 JTable 實作以驗證它是否正確使用資料模型的方法來填入其行和列。
正確的JTable 填充範例
考慮以下範例,該範例示範了正確的JTable 填充:
import java.awt.EventQueue; import java.awt.GridLayout; import java.util.Map; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; public class EnvTableTest extends JPanel { public EnvTableTest() { this.setLayout(new GridLayout()); this.add(new JScrollPane(new JTable(new EnvDataModel()))); } private static class EnvDataModel extends AbstractTableModel { private Map<String, String> data = System.getenv(); private String[] keys; public EnvDataModel() { keys = data.keySet().toArray(new String[data.size()]); } @Override public String getColumnName(int col) { if (col == 0) { return "Key"; } else { return "Value"; } } @Override public int getColumnCount() { return 2; } @Override public int getRowCount() { return data.size(); } @Override public Object getValueAt(int row, int col) { if (col == 0) { return keys[row]; } else { return data.get(keys[row]); } } } private void display() { JFrame f = new JFrame("EnvTableTest"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(this); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { new EnvTableTest().display(); } }); } }
在此範例中,EnvDataModel 自訂資料模型正確地從環境變數中檢索資料並將其提供給JTable,從而產生正確填充的表。
以上是儘管資料模型中的資料正確,為什麼我的 JTable 仍顯示重複的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

在使用IntelliJIDEAUltimate版本啟動Spring...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

在使用TKMyBatis進行數據庫查詢時,如何優雅地獲取實體類變量名以構建查詢條件,是一個常見的難題。本文將針...
