Java Swing Timer会自动停止运行

时间:2014-02-28 04:53:08

标签: java swing timer

我正在尝试实现一个永远运行的Swing计时器(或直到它被告知停止)。我不知道为什么,但是下面的代码将执行大约8秒然后自行停止。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;

public class SwingTimer {

private int count;

public SwingTimer() {
   count = 0;
   final int delay = 1000;
   ActionListener l = new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
         System.out.println("Count: " + (++count));
      }
   };

   new Timer(delay,l).start();

   try {
      Thread.sleep(2000);
   } catch(InterruptedException e) {
      System.out.println(e);
   }
}


    public static void main(String[] args) {
       new SwingTimer();

    }
}

然而,在我下载的一个例子中,代码几乎与上面的代码完全相同,只是延迟是500毫秒而不是1000,并且该计时器将运行一段看似无限的时间。当我在该示例中将500更改为1000时,它的执行方式与上面的代码相同。

有谁知道为什么会发生这种情况以及如何解决它以使其无限期运行?

0 个答案:

没有答案