作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我已经尝试了很多,但似乎无法让它发挥作用。
我被告知在以下示例中使用 EDT。
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Modify the GUI here
}
});
关于这个话题我看了很多,还是不明白。我知道什么是线程,但是 .invokeLater 对我来说仍然毫无意义。老实说,如果你能详细解释,这将是一个很大的帮助!
程序目标:获取每秒不断创建的随机生成的 key ,以便随后在 GUI 中自行更新。
最佳答案
于是就有了EDT(Event Dispatch Thread)。屏幕上显示的所有操作均由 EDT 执行。每个 Swing 应用程序只有一个 EDT。
您在某个任意线程中并且想通过该线程更新 GUI?就像我说的那样,每个 swing 应用程序只有一个 EDT,因此您必须告诉该 EDT 显示标签(或您想要的任何上下文)。
这里的想法是,将此 Runnable 推送到 EDT 从中拉出的队列中。最终,当它之前的所有其他操作完成时,您的可运行对象将由 EDT 处理。
关于java - 如何更新线程内的 JFrame 标签? - java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4250406/
我是一名优秀的程序员,十分优秀!