Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Выполнение событий по времени


Автор: Egnech 2.11.2007, 11:58
Всем привет. Понадобилось написать нечто типо будильника. Суть проста, я ввожу число эквивалентное часам в одно поле, в другое поле число эквивалентное минутам. Когда время на компьютере совпадает со временем введенным в полях совершается событие которое я укалал.
Загвоздка в следующем, как проверять время. Я думал это сделать через Date.getSecond, но при вызове оно запоминает первое значение и никак не хочет обновлять его ( а ведь время то идет smile ) 

Подскажите пожалуйста!  smile 

Автор: barin_Student 2.11.2007, 12:22
Код

while (true)
{
    int s = Date.getSecond();//  точно не помню как пишется , но ты знаешь точно
    System.out.println(s);
    this.wait(1000);
}

Это один из вариантов

Автор: Maksym 2.11.2007, 12:45
Egnech
Каждый раз создавать новый экземпляр Date (он при создании дефолтным конструктором инициализируется текущим временем).
Узнать текующее время без создания класса можно напрямую с помощью System.currentTimeMillis().

Автор: powerOn 2.11.2007, 13:30
Еще есть более мощные решения, например  http://www.opensymphony.com/quartz/

Автор: Egnech 3.11.2007, 01:37
Так, с этим вопроссом разобрался! Спасибо. Осталось полько почитать где-то про проигрывание звука стандартными методами Явы. 

Автор: anglerhood 4.11.2007, 22:44
Цитата(Egnech @ 3.11.2007,  01:37)
Так, с этим вопроссом разобрался! Спасибо. Осталось полько почитать где-то про проигрывание звука стандартными методами Явы.

Про звук здесь - http://www.jsresources.org/

Автор: Evgeni68 5.11.2007, 16:35
Чем постоянно проверять время, лучше воспользоваться классом java.util.Timer.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)