我有此JTable,其中已实现了自动刷新功能,以每1分钟或(60000l)显示剩余时间。
但是当尚未完成要插入的行(在JTable本身上完成数据编码)而数据丢失时,我遇到了这个问题。为了防止任何数据丢失并且不删除自动刷新功能。
是否可以暂停线程(SwingWorker(Void,Void用于自动刷新功能),让其不会丢失插入/更新数据的方式?
最佳答案
确保自动刷新和更新在同一线程上进行。这将阻止自动刷新执行,直到当前更新完成。
Event Dispatch Thread(EDT)是一个不错的选择,尤其是因为Swing已经包含将EDT上的操作排队的框架。
public void autorefresh() {
SwingUtilities.invokeLater(
new Runnable() {
...
// code to request refresh goes here.
}
);
}