快速业务通道

Swing中Timer定时器的使用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

Swing中Timer定时器的使用

时间:2010-12-23 javaeye wasw100

构造方法: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小时制显示几 点

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号