首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Swing 動態生成 JTable:DefaultTableModel 循環填充數據

     編輯:程式設計綜合問答

需求

在 JFrame 中動態創建 n 行 n 列表格。

核心代碼

int n = 5; // 行列數
String[] cols = new String[n];
for (int i = 0; i < n; i++) cols[i] = "列" + (i+1);

Object[][] data = new Object[n][n];
for (int r = 0; r < n; r++)
    for (int c = 0; c < n; c++)
        data[r][c] = "R" + (r+1) + "C" + (c+1);

DefaultTableModel model = new DefaultTableModel(data, cols);
JTable table = new JTable(model);

JFrame frame = new JFrame("動態表格");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new JScrollPane(table));
frame.pack();
frame.setVisible(true);

進階:運行時增減行列

// 添加行
model.addRow(new Object[]{"新", "數據", "行"});

// 刪除行
model.removeRow(rowIndex);

// 添加列
model.addColumn("新列", new Object[]{"值1", "值2"});

// 修改單元格
model.setValueAt("新值", row, col);

關鍵類

總結

動態生成 JTable 核心是構建 DefaultTableModel:準備列名數組 String[] 與數據矩陣 Object[][],雙重循環填充。後續增刪改查直接操作模型,視圖自動更新。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類用途
DefaultTableModel表格數據模型,支援動態增刪改查
JTable視圖組件,渲染模型數據
JScrollPane提供滾動支援
TableCellRenderer自定義單元格渲染(顏色、組件等)