我已经看到我的问题被问了好几次,但我从来没有看到我期望的答案。我已经在 JTable 中输入了数据库的元素,我希望能够通过一些 JButton 删除/添加元素。问题是当我添加/删除时,修改在数据库中可见,但在 JTable 中不可见。当我停止程序并再次运行它时,JTable 会更新。修改行后我能做些什么来立即更新表?我试过做this.table.repaint()
,但没有奏效。我想我必须对 tablemodel 做一些事情,可能是,fireTableStructureChanged();
但我不太了解如何使用它 非常感谢您抽出宝贵的时间。
这是我在 JTable 的控制器类中的部分代码,我认为它不会有帮助..
public void update(Observable o, Object message) {
Integer iMessage = (Integer) message;
if (iMessage == Cours.CHANGEMENT_ELEVES) {
int sizeEl = this.modele.getAllEleves().size();
if (this.modele.getAllEleves() !=null) {
Vector<String[]> data = this.modele.getAllEleves();
for (int i=0; i<sizeEl; i++) {
this.table.setValueAt(data.get(i)[0],i, 0);
this.table.setValueAt(data.get(i)[1],i,1);
this.table.setValueAt(data.get(i)[2],i,2);
}
this.table.repaint();
}
}
}