很抱歉发布另一个关于 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 对我做的事情和更新一样……有什么想法吗?PS我不知道这是否重要,但我在公共 void start_timer() 函数中创建了 Timer,如下所示:
public void start_timer(int minutes, int seconds){
if(timer == null)
timer = new Timer();
timer.scheduleAtFixedRate(new StopWatch(),0,1000);
}