繁体   English   中英

在执行除草时,在与main不同的其他线程中启动swing gui以更新jtextarea

[英]Start swing gui in anouther thread different from main to update jtextarea while doing culculations

我的程序此刻开始

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

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

PS我做了谷歌搜索,但无法做到这一点。 所以这是最后的资源

每个人似乎都忽略了一件大事:这是JTextArea.append的swing文档中的实际报价:

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

因此,似乎SwingUtilities.invokelater应该与此无关。 我真的不知道是什么引起了您的问题。 如果您发布一些代码,我也许可以提供更多帮助。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM