Java Timer

来源:互联网 发布:网龙网络2017校园招聘 编辑:程序博客网 时间:2024/05/21 22:28

一.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 }
原创粉丝点击