JTable没有填写

时间:2016-06-02 21:00:35

标签: java swing

我有来自DataBase的数据的JTable。一旦桌子被填满但是somotimes(完全随机)没有。与DB的连接是正确的。我还没有想到为什么在一个情况表中填充而在其他表中没有填充。绝对没有规则。

模特课:

public class MaterialModel extends AbstractTableModel
{
  public List<Material> materials = new ArrayList<Material>();
  String[] columns = {"ID_Material", "Nazwa"};

public int getRowCount() {
    return this.materials.size();
}

public int getColumnCount() {
    return columns.length;
}

public String getColumnName(int col){
    return columns[col];
}

public Object getValueAt(int rowIndex, int columnIndex) {
    Material material = materials.get(rowIndex);
    switch (columnIndex)
    {
        case 0: return material.id;
        case 1: return material.name;
    }
    return null;
}

public void setListMaterials(List<Material> listMaterials){
    this.materials = listMaterials;
}

public void reset(){
    this.materials.clear();
}
}

表格类:

public class Form extends JFrame{

private JTable materialTable;
MaterialDAO materialDAO;
public MaterialModel materialModel;

public Form() throws SQLException {
    super("Magazyn");
    setContentPane(mainPane);
    pack();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500,500);
    this.initComponets();
    materialDAO = new MaterialDaoImpl();
    materialTable.setModel(new MaterialModel());
    this.fillTable();
}

public void fillTable() throws SQLException {

    this.materialTable.repaint();
    materialModel = (MaterialModel) this.materialTable.getModel();
    materialModel.reset();
    materialModel.setListMaterials(materialDAO.getAllMaterials());
}


}

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

正如我看到没有SQL查询,检查你是否正在执行sql查询,我不知道你是否正在使用Hibernate或其他东西,尝试把执行sql查询的部分,通过这种方式我们可以看到你做的错误。