JTable 中只显示最后一行

Only last row is shown in JTable

我需要 table 来显示所有行,但它只显示最后一个低点。

for (i = 0; i < links.size(); i++) {
    Object row[] = {links.get(i).getAttribute("href"), statusCode};
    final Object rowData[][] = {row};
    final Object columnNames[] = {"Link", "Status Code"};
    DefaultTableModel listTableModel = new DefaultTableModel(rowData, columnNames);
    resultTable.setModel(listTableModel);
}

我该怎么办?我不太擅长编程。还在学习中。

在循环遍历行时,您正在为每一行创建一个 new DefaultTablemodel,然后在执行 resultTable.setModel() 时替换前一个。但是 TableModel 应该包含整个 table 的数据。所以在循环之前创建一个 TableModel 并像这样添加每一行:

//create TableModel
final Object columnNames[] = {"Link", "Status Code"};
DefaultTableModel listTableModel = new DefaultTableModel(columnNames,0);
//fill the TableModel
for (i = 0; i < links.size(); i++) {
    Object row[] = {links.get(i).getAttribute("href"), statusCode};
    listTableModel.addRow(row)
}
//associate the model with the table
resultTable.setModel(listTableModel);