Управление событий даты и часа в Java

Я хочу реализовать маленькое приложение, которое бросало бы в меня один JFrame в некий час дня, но не, как манипулирование событиями, которые могли бы реализовывать эти действия. В настоящее время я использую трэд, чтобы проверять периодически, пора ли эта в ту, которую нужно бросать JFrame. Существует лучший способ это реализовывать?

3
задан 18.03.2016, 16:25
1 ответ

Ты можешь использовать API Timer и TimerTask.

Уведомитель:

public class FrameAdvisor {

    public final static int AD_HOUR = 13; // 13 horas o 1PM
    private Timer timer;

    public FrameAdvisor() {
        timer = new Timer();
        // comprobará cada hora
        timer.schedule(new FrameAdvisorTask(), 100000);
    }
}

timer, который будет работать каждый 1 час:

public FrameAdvisorTask extends TimerTask {

    @Override
    public void run() {
        FrameOffert offert;
        int hourOfDay;

        hourOfDay = DateUtil.getHourOfDay();
        if(FrameAdvisor.AD_HOUR == hourOfDay) {
            offert = new FrameOffert();
            offert.setVisible(true);
        }
    }
}

Утилитарный класс:

public final class DateUtils {

    private DateFormat fmt = new SimpleDateFormat("HH:mm:ss");

    public static int getHourOfDay() {
        String strDate = fmt.format(new Date());
        String hour = strDate.subString(0, 2);
        return Integer.parseInt(hour);
    }

}
1
ответ дан 24.11.2019, 14:43
  • 1
    Схвати и # 237; он, проблема написания. Не prob и # 233; c и # 243; я говорю, он был одиноким для того, чтобы он служил gu и # 237; в в OP, если он состоит в том, что он подает его как таковой. – gugadev 18.03.2016, 17:17