這裏是我的環型:爲(;;)循環,使我的小程序unuseable
公共類Timer {
private Timer timer;
private static boolean isRunning = true;
public static void gameLoop()
{
while(isRunning) //the loop
{
try {
Main.cash--;
Thread.sleep(2000);
} catch (InterruptedException e) {
// e.printStackTrace();
}
}
}
}
當我運行小程序,我得到一個白色的屏幕,我無法靠近小程序,我必須在eclipse中使用終止按鈕。
不要阻塞EDT(Event Dispatch Thread) - 當發生這種情況時GUI將「凍結」。而不是調用'Thread.sleep(n)'實現一個Swing'Timer'來重複執行任務,或者一個'SwingWorker'執行長時間運行的任務。有關更多詳細信息,請參見[Swing中的併發](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/)。但爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 – 2013-05-03 05:39:54