java Timer的学习笔记(一)

      作为第一篇文章貌似没什么技术含量啊,没关系,反正基本也是自己看。刚学java貌似遇到的问题还都比较简单。

      java 中的Timer有两种,一种是在java.swing.Timer包中的,另一种是在java.util.Timer包中的。先来说一下swing Timer,因为在写一个小程序中用到了它,就小学习了一下,作为第一篇吧。

  一.swing Timer

      swing Timer 较 util Timer使用更具体一些,而后者更通用。由它在的包就可以看出,其实swing Timer是针对GUI相关任务的,所以对于GUI相关的程序还是比较建议使用swing Timer。而且对于util来说,swing Timer给人的感觉还是简单。

  1.构造函数

  Timer(int delay, ActionListener listener)

  delay即每次timer执行相应函数的间隔,英文文档中用了fire an action,很有感觉啊。单位为微妙(milliseconds)。

  listener为监听器,可以为空。这个就不在这说了,后面看代码实现吧。

  2.方法

  貌似挺多的,就先不在这一一说明了,以后用到了,再来补充吧,先把觉着有用的写下来。

      setInitialDelay(int initialDelay) -- 设置初始的delay值,也就是在timer启动后,到第一次fire action之间的值,后面的间隔当然就都是delay了。

  setDelay(int delay) -- 这个就是在运行中可以设置,delay的值了。

  与前两者相应的就是getDelay()和getInitialDelay()。

  setRepeats(boolean flag) -- 如果flag为false,则timer只执行一次action。

  3.例子代码

1 import javax.swing.Timer;
2  import java.awt.event.*;
3
4  public class SwingTimer {
5
6 private static int delay = 1000;
7 private static int initialDelay = 5000;
8 private static int count = 0;
9
10 public static void main(String[] args){
11
12
13
14 ActionListener listener = new ActionListener(){
15 public void actionPerformed(ActionEvent arg0){
16 System.out.println("count = " + count++);
17 }
18 };
19
20 Timer timer = new Timer(delay,listener);
21 timer.setInitialDelay(initialDelay);
22
23 //timer.setRepeats(false);
24   timer.start();
25
26 for(;;){
27 if(count == 5)
28 timer.setDelay(500);
29  // if(count == 10)
30  // timer.setRepeats(false);
31   }
32 }
33
34 }
今天先写到这吧,剩下的明天写。。。
posted @ 2011-07-01 18:49  LazyGunner  阅读(12219)  评论(2编辑  收藏  举报