带有jTableModel的二进制文件proplem

时间:2017-11-30 00:30:57

标签: java

我正在用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);

    }

1 个答案:

答案 0 :(得分:1)

您重新使用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的实例