我的课程目前正在开始
public static void main(String[] args){
new Gui().setVisible(true);
new Program(); }
我正在使用Jtextarea来显示结果。 我在Gui display(String)中有方法。它将文字附加到Jtextarea。 我从Program调用display(String)来显示结果。我在Program中有方法做一些工作,并调用该方法在执行结束时显示Program方法。但是如果我在执行开始时调用display(String)它将不会在Jtextarea中显示,直到本程序完成。它没有更新桂。我想我需要使用invoklater和new runnable为Gui启动EDT,但是如何与新程序一起使用它。 那么这个问题的解决方案是什么呢? 谢谢你的帮助。
P.S。我做了谷歌搜索,但无法得到它如何做到这一点。所以这是最后一个资源
答案 0 :(得分:1)
每个人似乎都忽略了一件大事:这是来自JTextArea.append
的swing文档的实际引用:
此方法是线程安全的,但大多数Swing方法都不是。请参阅如何使用 线程了解更多信息。
所以SwingUtilities.invokelater
似乎与此无关。我真的不知道是什么导致了你的问题。如果您发布一些代码,我可能会提供更多帮助。
P上。 S:我会把它作为评论,但我没有这样做的声誉。