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

我想在执行db操作之后刷新JTable ,例如插入/更新/删除而没有帧重新加载。 有这样的程序化解决方案吗?

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

例如,如果你有某种后台Thread或“更新”按钮并想要从数据库重新加载内容,那么简单地根据数据库的结果创建一个新的TableModel并将其应用到当前的JTable ,这将更新自动查看。

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

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

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

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