Таймер обратного отсчета - PullRequest
       2

Таймер обратного отсчета

0 голосов
/ 28 октября 2011

Я не нашел простого java-урока по таймеру обратного отсчета в java, поэтому решил реализовать его по-своему:(1000, новый ClockListener ());

class ClockListener implements ActionListener {

Integer m = 5;
Integer s = 0;

public void actionPerformed(ActionEvent e) {  
if ( (s == 0 ) and ( m == 0 ) ) 
    t.stop() 


    if (s == 0) {
        m--;
        s = 60;
    }
    s--;
    _timeField.setText(m.toString() + ":" + ( (s.toString().length() == 1) ? "0" + s.toString() : s.toString() ) );
}
}

_timeField is JTextField

это правильный способ подсчета с 5:00 до 0:00?

1 Ответ

3 голосов
/ 28 октября 2011

Если вы реализовали это, и оно работает, как и ожидалось, это в значительной степени определение "это правильно?" так что только вы можете ответить на это. Здесь нет серьезных проблем со стилем кода или чего-то еще, и по большей части вы, кажется, используете Timer как задумано.

Вопрос в том, «Какое у вас время?»

Точные химические / субатомные взаимодействия или механизмы безопасности для атомных реакторов / управления воздушным движением?

Комментарии к исходному вопросу содержат несколько указателей на альтернативные реализации или модификации, которые вы можете сделать, в зависимости от того, что вы хотите сделать, и от того, насколько точным должен быть таймер. Если вам нужна точность менее секунды, вам действительно стоит начать изучать System.nonoTime().

Ваше белье?

Если, с другой стороны, вы просто создаете простой таймер обратного отсчета (например, для приготовления пищи, напоминания о том, что стирка была сделана и т. Д.), То он действительно должен быть точным только в течение 1-5 секунд с момента Время будет на уровне минут / часов, и немного больше или меньше не будет иметь практического значения. Я сомневаюсь, что кто-то действительно заметит (или даже позаботится), если в таких приложениях будет пара секунд. Если дело обстоит именно так, используйте более понятную / понятную реализацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...