2016-12-07 10 views
0

Я разрабатывал это приложение для Shutdown/Restart и Hibernate Computer в заданное пользователем время. Я прикрепил изображение приложения, которое я разрабатывал. Пользователь может выбрать Часы, минуты или секунды для выключения/перезагрузки или спящего режима компьютера в течение времени, которое предоставляется пользователю. Я прикреплял пример кода, который я использовал, но это не отсчитывать времяКак сделать Count Down Timer в Java

public void cal() { 
    int seconds = (int) jSpinner1.getValue(); 
    int minutes = (int) jSpinner2.getValue(); 
    int hours = (int) jSpinner3.getValue(); 

    int SECONDS_IN_A_DAY = 24 * 60 * 60; 

    Calendar day = Calendar.getInstance(); 

    day.set(Calendar.SECOND, seconds); 
    day.set(Calendar.MINUTE, minutes); 
    day.set(Calendar.HOUR_OF_DAY, hours); 


    long difference = day.get(seconds + minutes + hours); 
    long allSeconds = difference/1000; 

    long days = allSeconds/SECONDS_IN_A_DAY; 
    long secondsDay = allSeconds % SECONDS_IN_A_DAY; 

    final long secondsinaDay = secondsDay % 60; 
    final long minutesinaDay = (secondsDay/60) % 60; 
    final long hoursinaDay = secondsDay/3600; 

    final java.util.Timer timer = new java.util.Timer(); 
    timer.scheduleAtFixedRate(new TimerTask() { 

     @Override 
     public void run() { 
      System.out.printf("%d hours, %d minutes and %d seconds\n", hoursinaDay, minutesinaDay, secondsinaDay); 
      jLabel5.setText(String.valueOf(hoursinaDay)); 
      jLabel6.setText(String.valueOf(minutesinaDay)); 
      jLabel7.setText(String.valueOf(secondsinaDay)); 

      //What should be in here if I needed to count down the Timer?????? 
     } 
    }, 1000, 1000); 

} 

The picture of my Application

+0

В чем проблема? Что означает «это не считать время»? – SJuan76

+0

Вы пытались использовать тему или работу для своего счетчика? – Gatusko

+0

'hoursinaDay', например, всегда одинаковое значение ... –

ответ

1

трудно без вас объяснить правильно, что происходит, но, по крайней мере, вы должны быть вычисляя значения оставшегося времени внутри задача.

Код вне задачи выполняется только один раз, это код внутри метода задачи run(), который будет выполняться каждую секунду.

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

+0

Я не могу придумать время, отсчитывающее @ SJuan76 –

 Смежные вопросы

  • Нет связанных вопросов^_^