我想以JTextField中的註釋形式向用戶顯示程序流。僅顯示最後一條消息(「完整」)。當我撥打setText()
時,如何讓每條信息都顯示出來?只有最後一次對TextField的調用會更新它
private class CalculateButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
String keyValue = keywordTF.getText();
currentTF.setText("calling 1");
methodCall1();
currentTF.setText("calling 2");
methodCall2();
currentTF.setText("calling 3");
methodCall3();
currentTF.setText("complete");
}
}
這個任務根本不重。它只是分解成更小的方法。我只想在Textfield中顯示「此方法現在」。有沒有更簡單的選擇?我不想介紹線程。謝謝!! – ArpitM
@ user396501如果這些內容真的很小,即使您將它分割,文本的更新也會很快發生,您永遠無法看到它。您可以按照Ben Lawry的建議追加文本iso替換。而且要清楚,我的意思是指所有持續時間超過100ms的計算,而不僅僅是需要幾分鐘時間才能完成的計算 – Robin
由於它在EDT內執行計算,這意味着UI無法更新,因爲它的重要性在於它正在忙於執行您的方法調用的工作。當您的方法調用完成時,UI將自行更新,但到那時爲時已晚。 – CodeBlind