在 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);
| 類 | 用途 |
|---|---|
| DefaultTableModel | 表格數據模型,支援動態增刪改查 |
| JTable | 視圖組件,渲染模型數據 |
| JScrollPane | 提供滾動支援 |
| TableCellRenderer | 自定義單元格渲染(顏色、組件等) |