`
wasw100
  • 浏览: 127159 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Swing中Timer定时器的使用

    博客分类:
  • java
阅读更多

类名:javax.swing.Timer

构造方法:Timer(int delay, ActionListener listener)
          创建一个每 delay 毫秒将通知其侦听器的 Timer

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的使用的理解:

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小时制显示几点 

 

2
0
分享到:
评论

相关推荐

    Timer定时器的应用

    【Timer定时器的应用】 在计算机编程中,`Timer` 是一个非常重要的概念,尤其是在图形用户界面(GUI)和实时系统中。它允许程序在特定时间间隔执行某项操作,为软件添加了计时和自动化功能。`Timer` 定时器在Java、...

    java 定时器(Timer)

    Java定时器(Timer)是Java Swing库中的一个类,它提供了调度任务在未来某个时间执行的能力。这个类主要用于在GUI应用程序中实现定时触发某些操作,比如更新界面、执行动画或者执行周期性的后台任务。Timer类结合了...

    这个和MFC版本的飞机大战一模一样,是对其进行了Java移植而产生的,使用Swing和定时器实现了图形界面绘制。Plan.zip

    本项目是对MFC(Microsoft Foundation Classes)版本的飞机大战进行Java语言的移植,以展示如何在Java环境中利用Swing库和定时器实现图形用户界面(GUI)的绘制和游戏逻辑。 首先,Swing是Java提供的一种轻量级组件...

    Java定时器

    在Java定时器的应用中,`Swing Timer`是一个特别值得注意的类,它是`javax.swing.Timer`,它与`java.util.Timer`不同,主要用于`Swing`组件的事件驱动。`Swing Timer`的优点在于它的回调是在事件调度线程中执行的,...

    数字时钟制作一个数字时钟

    制作一个数字时钟标签组件,显示当前时间,并将该标签添加到框架中。

    定时器 timer

    【定时器 Timer】是计算机编程中的一个重要概念,用于在指定的时间间隔执行特定的任务。在Java中,`java.util.Timer`类和`java.util.TimerTask`类提供了基础的定时任务功能。`Timer`类用于创建一个定时器对象,而`...

    一个定时器Timer实现的钟表.doc

    在Java编程中,我们可以使用`java.util.Timer`类来创建定时任务,就像在文档"一个定时器Timer实现的钟表.doc"中所示,该文档描述了一个使用`Timer`类模拟钟表的工作原理。这个程序通过每秒更新一次时间来模拟钟表的...

    用Java中Swing实现满天星源码+文档

    3. **定时器(Timer)**: `javax.swing.Timer`是Swing中的定时器类,可以周期性地触发事件。在这个项目中,我们可能使用定时器每隔一定时间更新画面,使得星星的位置有所变化,达到动态效果。 4. **事件监听器...

    在Swing中实现小球

    首先,我们需要导入Swing库中的基本组件和定时器类,如`javax.swing.JFrame`, `javax.swing.JPanel`, `javax.swing.Timer`等。`JFrame`是窗口的基础,`JPanel`则用于绘制小球,而`Timer`则用来实现小球的动态运动。 ...

    ApacheCamel-Timer

    Timer 组件是 Apache Camel 中的一个重要部分,它提供了定时触发事件的功能,类似于 Java 中的 javax.swing.Timer 或者 Quartz Scheduler。 在 Apache Camel 中,Timer 组件主要用于创建周期性的事件源,这些事件...

    Java Swing 自动定时关机代码

    在Java Swing中实现自动定时关机的功能,通常涉及到对操作系统API的调用,以及Swing的定时器机制。下面将详细介绍这个过程。 首先,我们要创建一个Swing应用程序,这通常从`JFrame`开始,它作为应用的主窗口。在...

    Java实现桌面右下角弹窗,实现JavaSwing窗体闪烁

    在Java编程环境中,Java Swing库提供了丰富的组件和功能来创建桌面应用程序。本教程将深入讲解如何使用Java Swing来实现桌面右下角的弹窗效果,以及如何让Swing窗体闪烁,以吸引用户的注意力。 首先,Java Swing是...

    swing 动态加载曲线图

    Swing动态加载曲线图在Java开发中是一种常见需求,特别是在数据可视化或...总之,Swing动态加载曲线图的实现涉及Swing组件、绘图API和定时器的使用。通过理解这些基本概念,开发者可以创建出功能丰富的数据可视化应用。

    Java时钟小程序

    综上所述,"Java时钟小程序"利用了Java的Swing库构建GUI,使用Timer定时器以非阻塞方式周期性更新时间,并在UI线程安全地重绘时钟界面,以达到模拟实际时钟的效果。通过理解这些概念,你可以构建出一个功能完善的...

    swing 美化包+使用API代码

    7. **动画效果**:虽然Swing本身并不直接支持复杂的动画效果,但可以通过定时器(`javax.swing.Timer`)和手动更新组件状态来实现简单的动画。 8. **事件监听**:通过实现`ActionListener`或其他监听器接口,可以响应...

    swing小黑点移动

    总的来说,"swing小黑点移动"这个示例涵盖了Swing GUI编程中的基本元素:组件创建、绘图、布局管理、事件处理和定时器。它是一个很好的起点,可以帮助开发者理解如何在Swing环境中实现动态视觉效果,为更复杂的GUI...

    java swing动画

    在 Swing 中实现动画通常涉及到定时器(Timer)和重绘(repaint)机制。 在 Swing 中实现动画的步骤通常如下: 1. **定义组件**: 首先,你需要创建一个自定义的 Swing 组件,例如继承自 JComponent 或 JPanel。这...

    Timer-java.rar_java timer_timer_timer java

    在这个例子中,可能使用了Java的Swing或JavaFX库来创建GUI。`JFrame`、`JButton`、`JTextField`等组件可能被用来展示时间设定和控制按钮。`ActionListener`接口用于监听按钮点击事件,触发`Timer`的启动和停止。 4...

    java swing制作的时钟

    - javax.swing.Timer:Swing 提供的定时器类,用于每隔一定时间触发某个事件,例如更新时钟的秒针位置。 4. **事件处理**: - `ActionListener`:用于监听用户设置时间的操作,例如点击按钮调整时间。 5. **模型...

    java swing 游戏 星际争霸 java swing 游戏 星际争霸

    同时,Swing提供了定时器(javax.swing.Timer)类,可以用于实现游戏的帧率控制,保证游戏的流畅运行。 对于“星际争霸”这样的策略游戏,还需要处理大量的数据结构和算法。例如,可能需要设计实体类(如单位、建筑...

Global site tag (gtag.js) - Google Analytics