如何在没有帧重载的情况下刷新数据库操作后的JTable?

时间:2014-05-06 07:19:17

标签: java swing user-interface jtable tablemodel

我想在执行数据库操作(例如插入/更新/删除)而没有帧重新加载后刷新JTable。有没有这样做的程序化解决方案?

2 个答案:

答案 0 :(得分:3)

答案取决于您使用的TableModel的类型......以及事件发生的级别。

例如,如果您有某种后台Thread或“更新”按钮并希望从数据库重新加载内容,则可以根据数据库中的结果创建一个新的TableModel,将其应用于当前JTable,这将自动更新视图。

如果您在应用程序中执行数据库操作(添加,更新,删除行),您可以向TableModel提供某种通知,并只更新其内容。

例如,DefaultTableModel提供了addRowinsertRowremoveRow方法。 TableModel还提供setValueAt,允许您更改给定单元格的值。

所有这些方法都会向模型自动关联的JTable提供通知

答案 1 :(得分:-2)

您应该使用jtable.getViewport().removeAll(),然后使用从数据库收集的所有数据再次重新填充。

相关问题