我按gui编写二进制文件对象,当我在表中列出它们时,仅出现一行like this
并非所有数据都适用
这是要列出的代码
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
Object rowData[] = new Object[5];
model.setRowCount(0);
Apparels a = new Apparels();
ArrayList<Apparels> app = new ArrayList<Apparels>();
app = a.listApparels();
for (Apparels x : app) {
rowData[0] = x.getStockid();
rowData[1] = x.getPricePerItem();
rowData[2] = x.getQuantity();
rowData[3] = x.getType();
rowData[4] = x.getCateogryname();
model.addRow(rowData);
}
最佳答案
您正在重新使用rowData
填充属性,这意味着对于每一行,它将具有相同的数据
也许尝试使用更多类似...
for (Apparels x : app) {
Object rowData[] = new Object[5];
rowData[0] = x.getStockid();
rowData[1] = x.getPricePerItem();
rowData[2] = x.getQuantity();
rowData[3] = x.getType();
rowData[4] = x.getCateogryname();
model.addRow(rowData);
}
主要问题是,对
rowData
的引用永远不会更改,但是每个元素中的内容都会更改,因此,一旦完成循环,模型将具有所有指向同一rowData
实例的引用列表。关于java - jTable模型的二进制文件问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47564085/