我有一个 JTable,其中实现了自动刷新功能,每 1 分钟或 (60000l) 显示剩余时间。
但是当要插入的行尚未完成(数据编码是在 JTable 本身上完成)时,我遇到了这个问题,数据丢失了。为了防止任何数据丢失并且不删除自动刷新功能。
是否可以暂停线程(SwingWorker(Void, Void) 用于自动刷新功能)以保证插入/更新数据不会丢失?
最佳答案
确保自动刷新和更新发生在同一线程上。这将阻止自动刷新执行,直到当前更新完成。
事件调度线程 (EDT) 是一个很好的候选者,特别是因为 Swing 已经包含了对 EDT 上的操作进行排队的框架。
public void autorefresh() {
SwingUtilities.invokeLater(
new Runnable() {
...
// code to request refresh goes here.
}
);
}
关于java - JTable 在自动刷新方案上插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5894345/