【发布时间】:2012-08-03 16:12:27
【问题描述】:
很抱歉发布另一个关于 Java swing 和循环的帖子。我已经阅读了其他人,但没有一个解决方案真正适合我。好的,现在开始讨论这个问题。我有一个扩展 JFrame 的类,其中有一个运行秒表的计时器,如下所示:
class StopWatch extends TimerTask{
public void run() {
time.setText(String.format("%02d:%02d", minutes_elapsed,seconds_elapsed));
seconds_elapsed++;
if(seconds_elapsed == 60){
seconds_elapsed = 0;
minutes_elapsed++;
}
}
}
现在我的标签“时间”更新的唯一方法是当我调用 time.update(time.getGraphics()) 时,但这会覆盖上一次。有什么想法我应该做什么?我也尝试过重新绘制、验证和绘制。 Paint 对我做的事情和更新一样……有什么想法吗? P.S 我不知道这是否重要,但我在公共 void start_timer() 函数中创建了 Timer,如下所示:
public void start_timer(int minutes, int seconds){
if(timer == null)
timer = new Timer();
timer.scheduleAtFixedRate(new StopWatch(),0,1000);
}
【问题讨论】: