java - 如何更新线程内的 JFrame 标签? - java

标签 java user-interface jframe

我已经尝试了很多,但似乎无法让它发挥作用。

我被告知在以下示例中使用 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/

相关文章:

java - 对于java,如何确保内部接口(interface)和外部接口(interface)具有相同的泛型?

java - Slick2d:如何重新启动游戏状态?

c++ - 可以有一个 C++ GUI 静态库吗?但不是 .dll?

Java JApplet : Why aren't my components appearing on screen?

java - 更新 Java 中的 JFrame。复制对象

java - 在框架外显示元素

java - Flying Saucer XHTML 中的相对路径?

c++ - Qt Quick 图像不显示

java - BoxLayout 无法共享错误?

java - activemq消费者似乎是 "always cache"?