倒计时暂停&用计时器恢复

时间:2015-06-26 14:31:37

标签: java netbeans timer resume

我有一个问题让我遇到大麻烦.. 我使用java编写了一个竞赛倒计时。这是我的界面

enter image description here

我使用了countdown()方法来完成我的任务..

public void countdown(){    
    TimerTask doit = new TimerTask() {
        @Override
        public void run() {
            c_s-=1;
            if (c_s == -1)
    {
      c_m -= 1;
      c_s = 59;
    }
    if (c_m == -1)
    {
      c_h -= 1;
      c_m = 59;
    }
    hour.setText(c_h+"");
    min.setText(c_m+"");
    sec.setText(c_s+"");

            if((c_h==-1)&& (c_m==59)&& (c_s==59)){

                time_countdown.cancel();
                JOptionPane.showMessageDialog(rootPane, "Invaild Time");
                System.exit(0);
            }
            if((c_h==0)&& (c_m==0)&& (c_s==0)){

                time_countdown.cancel();
                JOptionPane.showMessageDialog(rootPane, "Times Up");

            }


        }
    };
    time_countdown.scheduleAtFixedRate(doit, 0L, 1000L);
}

我的情况是我暂停和恢复时间..?我不知道那样做!! !!如果有人能用这种方法给我一个解决方案,对我来说很容易.. (不要关心Round 01 line。它是秒表)

1 个答案:

答案 0 :(得分:1)

也许最简单的方法是,如果暂停按钮切换一个bool变量,该变量告诉run方法在被调用之后(在任何更改发生之前)退出或者通过它。