在我的程序中,我試圖通過在label.setText()
調用之間使用Thread.sleep(3000)
幾秒後更新JLabel
。Thread.sleep運行不正常
public void actionPerformed(ActionEvent e)
{
gameUpdate.label.setText("text a");
try {
Thread.sleep(3000);
}
catch (InterruptedException ie)
{
ie.printStackTrace();
}
gameUpdate.label.setText("text b");
}
按下按鈕並且標籤不更新會發生什麼。然後在3秒後標籤更新爲「文字b」。我不明白爲什麼會發生這種情況。
在Swing應用程序的[EDT(Event Dispatch Thread)](https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html)上執行** not **'sleep' 。 –