java如何在不重新加载帧的情况下在数据库操作后刷新JTable? 2 月,4 周 Questions & Answers 1109 我想在执行诸如insert/update/delete之类的db操作后,在不重新加载帧的情况下刷新JTable。是否有一个程序化的解决方案来做到这一点
# 2 楼答案 答案取决于您正在使用的TableModel类型。。。以及事件发生的程度 例如,如果您有某种背景Thread或“更新”按钮,并希望从数据库重新加载内容,只需根据数据库的结果创建一个新的TableModel,并将其应用于当前JTable,这将自动更新视图 如果您正在应用程序中执行数据库操作(添加、更新、删除行),则可以向TableModel提供某种通知,只需更新其内容即可 例如^{}提供了addRow、insertRow、removeRow方法TableModel还提供了setValueAt,允许您更改给定单元格的值 所有这些方法都会向模型自动关联的JTable返回通知
# 1 楼答案
您应该使用
jtable.getViewport().removeAll()
,然后用从数据库收集的所有数据重新填充它# 2 楼答案
答案取决于您正在使用的
TableModel
类型。。。以及事件发生的程度例如,如果您有某种背景
Thread
或“更新”按钮,并希望从数据库重新加载内容,只需根据数据库的结果创建一个新的TableModel
,并将其应用于当前JTable
,这将自动更新视图如果您正在应用程序中执行数据库操作(添加、更新、删除行),则可以向
TableModel
提供某种通知,只需更新其内容即可例如^{} 提供了
addRow
、insertRow
、removeRow
方法TableModel
还提供了setValueAt
,允许您更改给定单元格的值所有这些方法都会向模型自动关联的
JTable
返回通知