JTable在自动刷新方案上插入数据

时间:2011-05-05 07:48:53

标签: java swing jtable swingworker

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

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

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

1 个答案:

答案 0 :(得分:0)

确保在同一个线程上进行自动刷新和更新。这将阻止自动刷新执行,直到当前更新完成。

Event Dispatch Thread(EDT)是一个很好的候选者,特别是因为Swing已经包含了在EDT上排队操作的框架。

public void autorefresh() {
    SwingUtilities.invokeLater(
       new Runnable() { 
          ...
          // code to request refresh goes here. 
       }
    );
}