更新数据库时,使用AbstractTableModel更新JTable

时间:2013-07-22 09:31:51

标签: java swing jdbc jtable

我有一个带有AbstractTableModel MyModel的表名jTable;我可以成功地将抽象模型实现为jTable。当我使用Sql Query更新数据库按下表单中的UPDATE按钮时,我使用jTable.setModel(new MyModel())重新填充jTable,它工作正常。

但我认为这不是明智的程序,因为它将是大量行的情况。每次更新或将记录插入数据库后,重新设置或重新填充表模型到jTable是不是一个有效的过程。我读了一些关于fireTableRowUpdated的监听器......但是我无法理解它应该如何编写?因为我不先更新jTable。我正在更新数据库然后我需要更新当前的AbstractTableModel以及我的jTable。

有没有人可以指导我找到正确的路径..如何设置监听器或调用方法,因此AbstractTableModel也将更新和更新jTable。我认为它不应该重新填充数据库表中的所有行。

1 个答案:

答案 0 :(得分:1)

感谢所有发表意见的人。最后我可以找到答案。 我在AbstractTableModel中创建了方法:

myObject rec = new myObject();

public void updateRow(Object value, int row){
        rec.set(row, value);
        fireTableRowsUpdated(row, row);
    }

and in main class

mymodel.updateRow(newvalueObject, rowindex);

它有效。谢谢你指导我...