Пауза и возобновление обратного отсчета с таймером

Здесь у меня есть вопрос, который доставляет мне большие неприятности. Я закодировал обратный отсчет для соревнований, используя java. Вот мой интерфейс

введите здесь описание изображения

Я использовал метод обратного отсчета(), чтобы выполнить свою задачу следующим образом.

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);
}

Мой случай в том, как я останавливаю и возобновляю время..? Я понятия не имею, как это сделать..!!..Если кто-нибудь может дать мне решение, используя этот метод, мне будет легко.. (Не заботьтесь о строке раунда 01. Это секундомер)


person JLink    schedule 26.06.2015    source источник


Ответы (1)


Возможно, самым простым способом было бы, если бы кнопка паузы переключала логическую переменную, которая сообщает методу запуска выйти сразу после вызова (до того, как произойдет какое-либо изменение) или пройти через него.

person syck    schedule 26.06.2015