0

我的程序现在开始

          public static void main(String[] args){
          new Gui().setVisible(true);
         new Program();   }

我正在使用 Jtextarea 来显示结果。我在 Gui 显示(字符串)中有方法。它将文本附加到 Jtextarea。我从 Program 调用 display(String ) 来显示结果。我在 Program 中有一些方法可以做一些工作并调用该方法以在执行结束时显示 Program 方法。但是如果我在执行开始时调用 display(String) ,它不会在 Jtextarea 中显示,直到程序的方法完成。它没有更新 Gui。我想我需要使用 invoklater 和 new runnable 来为 Gui 启动 EDT,但是如何在 main 中与新程序一起完成它。那么这个问题的解决方案是什么?谢谢您的帮助。

PS我用谷歌搜索过,但不知道怎么做。所以这是最后一个资源

4

1 回答 1

1

每个人似乎都忽略了一件大事:这是来自 swing 文档的实际引用JTextArea.append

此方法是线程安全的,尽管大多数 Swing 方法不是。请参阅如何使用线程了解更多信息。

所以看起来SwingUtilities.invokelater应该与此无关。我真的不知道是什么导致了你的问题。如果您发布一些代码,我可能会提供更多帮助。

P.S:我会将此作为评论,但我没有这样做的声誉。

于 2013-07-18T03:09:33.987 回答