我有此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.
       }
    );
}

07-24 18:56