JTable中只显示最后一行

时间:2015-08-18 02:36:45

标签: java jtable

我需要表格显示所有行,但它只显示最后一行。

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);
}

我该怎么办?我不太喜欢编程。还在学习。

1 个答案:

答案 0 :(得分:1)

循环浏览行时,您为每行创建new DefaultTablemodel,然后在执行resultTable.setModel()时替换上一行。但TableModel应包含整个表的数据。因此,在循环之前创建一个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);