繁体   English   中英

JtextArea更新问题不实时更新

[英]JtextArea update issue not updating real time

我当前正在编写一个应用程序,单击鼠标即可运行几种更新JtextArea的方法。 问题是,即使我使用每个方法调用都更新了文本区域,它实际上并没有更新,直到mouseclick中的所有内容都已运行。

这可能需要一段时间才能完成所有工作,我希望每次调用都能看到文本区域更新,而不必等到一切完成为止

public void mouseClicked(MouseEvent e) {
                DataCollector dc = new DataCollector();

                dataCollected.append("Begining Test...\n\n");
                dataCollected.append("Collecting System Information... \n\n");
                dataCollected.append(dc.getSystem());
                                ... lots more like this...

}

它实际上不会更新,直到mouseclick中的所有内容都已运行。

完全正确。 您的mouseClicked方法在GUI线程上被调用,并且该线程是唯一更新GUI的线程。 因此mouseClicked方法完成后,将执行“更新文本区域内容”操作。 因此,在GUI线程上运行的方法应运行得非常快,以便其他要在GUI线程上运行的方法也可以这样做。

您可以启动一个与常规代码并行运行的新线程,这将更新您的JTextArea。 阅读课程:Swing的并发性,了解如何在Swing中使用线程(以及“事件调度线程”是什么)。

暂无
暂无

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

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