我寫了一個TimerTask來顯示JLabel中的當前日期和時間。以下是TimerTask代碼,在正常情況下運行良好。當GUI運行時更改系統日期和時間時,定時器停止運行。當我更改系統日期和時間並且Timer剛剛停止運行時,沒有出現異常。 任何人都可以告訴我發生了什麼事嗎?當系統日期改變時,TimerTask獲取系統日期和時間停止運行
private void startTimer()
{
// Start the clock
timer = new Timer();
timer.schedule(new TimeTask(), 0, 1000);
}
class TimeTask extends TimerTask
{
public void run()
{
try {
clockLabel.setText(new SimpleDateFormat("EEE , dd MMM , HH:mm:ss").format(Calendar.getInstance().getTime()));
System.out.println(clockLabel.getText());
} catch(Exception ex) {
ex.printStackTrace();
System.out.println("Exception : " + ex.getMessage());
}
}
}