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

标签 java swing jtable swingworker

我有一个 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/

相关文章:

Java 8 方法引用多个不同的构造函数

java - 可供使用的 SIP 客户端 Java 小程序

java - 将 ISO 时间戳格式的 Java String 转换为 SimpleDateFormat

java - 在 jtable 中创建组合框

java - 将图像插入 JTable

java - 如何在监听器中访问有状态 bean

java - 尝试从存储中获取元素时出现 NullPointerException

java - 确定与 Line2D 重叠的组件

java - JList像树一样

java - 如何使主窗口对表格单击使用react