簡體   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