WEB开发网
开发学院软件开发Java Swing中Timer定时器的使用 阅读

Swing中Timer定时器的使用

 2009-09-26 00:00:00 来源:WEB开发网   
核心提示:构造方法:Timer(intdelay, ActionListenerlistener) 创建一个每 delay 毫秒将通知其侦听器的 Timer,Api的一段示例代码intdelay=1000;//millisecondsActionListenertaskPerformer=newActionListener(){

构造方法:Timer(int delay, ActionListener listener)

创建一个每 delay 毫秒将通知其侦听器的 Timer。

Api的一段示例代码  

int delay = 1000; //milliseconds 
 ActionListener taskPerformer = new ActionListener() { 
   public void actionPerformed(ActionEvent evt) { 
     //...Perform a task... 
   } 
 }; 
 new Timer(delay, taskPerformer).start();

该代码创建并启动一个每秒激发一次操作事件的计时器(正如该 Timer 构造方法的第一个参数指定的那样)。该 Timer 构造方法的第二个参数指定一个接收该计时器操作事件的侦听器。

上面是API上说明,javax.swing.Timer在 GUI编程在组件内容更新时经常用到Timer,例如JTable、JLabel内容更新。

下面是一个简单的显示时间的GUI程序,可以加深对Timer的使用的理解:

显示时间的swing程序代码  

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.Timer; 
 
/** 
 * 测试swing中Timer的使用 
 * 一个显示时间的GUI程序 
 * @author wasw100 
 * 
 */ 
public class TimerTest extends JFrame implements ActionListener { 
 // 一个显示时间的JLabel 
 private JLabel jlTime = new JLabel(); 
 private Timer timer; 
 
 public TimerTest() { 
 setTitle("Timer测试"); 
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
 setSize(180, 80); 
 add(jlTime); 
  
 //设置Timer定时器,并启动 
 timer = new Timer(500, this); 
 timer.start(); 
 setVisible(true); 
 } 
 
 /** 
 * 执行Timer要执行的部分, 
 */ 
 @Override 
 public void actionPerformed(ActionEvent e) { 
 DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 Date date = new Date(); 
 jlTime.setText(format.format(date)); 
 
 } 
 
 public static void main(String[] args) { 
 new TimerTest(); 
 } 
} 

程序说明: 

类实现了ActionListener接口,所以可以直接timer = new Timer(500, this);使用this初始化计时器。

当计时器启动后(timer.start()执行后),每隔500毫秒执行一次实现的 ActionListener 接口中的actionPerformed的方法体

这里在补充一点显示时间格式的知识:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

MM表示月份  mm表示分钟   hh:12小时制显示几点  HH:24小时制显示几点 

Tags:Swing Timer 定时器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接