我有来自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());
}
}
非常感谢你的帮助。
答案 0 :(得分:0)
正如我看到没有SQL查询,检查你是否正在执行sql查询,我不知道你是否正在使用Hibernate或其他东西,尝试把执行sql查询的部分,通过这种方式我们可以看到你做的错误。