如何做一个计时器监听器?

时间:2015-04-14 17:48:47

标签: java timer

我是Java新手,我想创建一个程序,如果检测到时间,将执行确定的操作。

实施例: 我启动一个计时器,当30个segs消失,显示一条消息,3分钟后,执行另一个动作等等。

我该怎么做?

谢谢

2 个答案:

答案 0 :(得分:1)

使用Timer类,你可以这样做:

public void timer() {

    TimerTask tasknew = new MyTask();
    Timer timer = new Timer();

    /* scheduling the task, the first argument is the task you will be 
     performing, the second is the delay, and the last is the period. */
    timer.schedule(tasknew, 100, 100);
}

}

这是扩展TimerTask并执行某些操作的类的示例。

 class MyTask extends TimerTask {

        @Override
        public void run() {
            System.out.println("Hello world from Timer task!");

        }
    }

进一步阅读

Timer Docs

Timer schedule example

答案 1 :(得分:0)

使用ScheduledExecutorService是一种可能性。

请参阅the docs for usage example and more

import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
    private final ScheduledExecutorService scheduler =
        Executors.newScheduledThreadPool(1);

    public void beepForAnHour() {
        final Runnable beeper = new Runnable() {
            public void run() { System.out.println("beep"); }
        };
        final ScheduledFuture<?> beeperHandle =
            scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
        scheduler.schedule(new Runnable() {
            public void run() { beeperHandle.cancel(true); }
        }, 60 * 60, SECONDS);
    } 
}