如何在java中的特定时间停止计时器?

时间:2014-02-01 17:59:15

标签: java timer

我在java中创建了一个计时器但是我不知道如何阻止它。下面是我的计时器代码。

Timer timer = new Timer(1000, new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
            label1.setText("Hello");        
    }

});
timer.start();

我希望在计时器达到500时添加其他几个文本,然后在计时器达到1000时停止计时。

2 个答案:

答案 0 :(得分:2)

  

“如何在java中的特定时间停止计时器?”

就这样做。增加计时器事件的每次触发计数,如果计数在某一点,则停止计时器,否则将文本设置为计数

int count = 0;
JLabel label = new JLabel(String.valueOf(count));
public Constructor() {
    Timer timer = new Timer(1000, new ActionListener(){
        public void actionPerformed(ActionEvent e) {
            if (count >= 100) {
                ((Timer)e.getSource()).stop();
            } else {
                label.setText(String.valueOf(count));
                count++;
            }
        }
    });
    timer.start();
}

答案 1 :(得分:0)

最简单的方法是使用多个计时器。但更好的方法是使用类似ScheduledThreadPoolExecutor ExecutorService的内容,然后您可以按照自己喜欢的时间安排尽可能多的Runnable ...