我需要该表来显示所有行,但是只显示最后一个低位。
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
应该包含整个表的数据。因此,在循环之前创建一个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);
关于java - JTable中仅显示最后一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32062663/