核心代碼
int n = 5; // 動態決定
String[] cols = new String[n];
for (int i = 0; i < n; ++i) cols[i] = "Col" + (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+1) + "," + (c+1); // 示例數據
DefaultTableModel model = new DefaultTableModel(data, cols);
JTable table = new JTable(model);
JScrollPane scroll = new JScrollPane(table);
JFrame frame = new JFrame("Dynamic Table");
frame.add(scroll);
frame.setSize(600, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
進階:運行時調整行列
model.addRow(new Object[n]); // 增加行
model.addColumn("NewCol", new Object[n]); // 增加列
model.removeRow(rowIndex);
model.removeColumn(colIndex);