1

我有这个 JTable,我在其中实现了自动刷新功能,以每 1 分钟或(60000l)显示剩余时间。

但是当要插入的行还没有完成时我遇到了这个问题(数据编码是在 JTable 本身上完成的)数据丢失了。为了防止任何数据丢失,并且不删除自动刷新功能。

是否可以暂停线程(SwingWorker(Void, Void) 用于自动刷新功能)以让插入/更新数据不会丢失?

4

1 回答 1

0

确保自动刷新和更新发生在同一个线程上。这将阻止自动刷新在当前更新完成之前执行。

事件调度线程 (EDT) 是一个很好的候选者,尤其是 Swing 已经包含了在 EDT 上对操作进行排队的框架。

public void autorefresh() {
    SwingUtilities.invokeLater(
       new Runnable() { 
          ...
          // code to request refresh goes here. 
       }
    );
}
于 2011-05-05T08:51:31.223 回答