类名: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小时制显示几点
分享到:
相关推荐
【Timer定时器的应用】 在计算机编程中,`Timer` 是一个非常重要的概念,尤其是在图形用户界面(GUI)和实时系统中。它允许程序在特定时间间隔执行某项操作,为软件添加了计时和自动化功能。`Timer` 定时器在Java、...
Java定时器(Timer)是Java Swing库中的一个类,它提供了调度任务在未来某个时间执行的能力。这个类主要用于在GUI应用程序中实现定时触发某些操作,比如更新界面、执行动画或者执行周期性的后台任务。Timer类结合了...
本项目是对MFC(Microsoft Foundation Classes)版本的飞机大战进行Java语言的移植,以展示如何在Java环境中利用Swing库和定时器实现图形用户界面(GUI)的绘制和游戏逻辑。 首先,Swing是Java提供的一种轻量级组件...
在Java定时器的应用中,`Swing Timer`是一个特别值得注意的类,它是`javax.swing.Timer`,它与`java.util.Timer`不同,主要用于`Swing`组件的事件驱动。`Swing Timer`的优点在于它的回调是在事件调度线程中执行的,...
制作一个数字时钟标签组件,显示当前时间,并将该标签添加到框架中。
【定时器 Timer】是计算机编程中的一个重要概念,用于在指定的时间间隔执行特定的任务。在Java中,`java.util.Timer`类和`java.util.TimerTask`类提供了基础的定时任务功能。`Timer`类用于创建一个定时器对象,而`...
在Java编程中,我们可以使用`java.util.Timer`类来创建定时任务,就像在文档"一个定时器Timer实现的钟表.doc"中所示,该文档描述了一个使用`Timer`类模拟钟表的工作原理。这个程序通过每秒更新一次时间来模拟钟表的...
3. **定时器(Timer)**: `javax.swing.Timer`是Swing中的定时器类,可以周期性地触发事件。在这个项目中,我们可能使用定时器每隔一定时间更新画面,使得星星的位置有所变化,达到动态效果。 4. **事件监听器...
首先,我们需要导入Swing库中的基本组件和定时器类,如`javax.swing.JFrame`, `javax.swing.JPanel`, `javax.swing.Timer`等。`JFrame`是窗口的基础,`JPanel`则用于绘制小球,而`Timer`则用来实现小球的动态运动。 ...
Timer 组件是 Apache Camel 中的一个重要部分,它提供了定时触发事件的功能,类似于 Java 中的 javax.swing.Timer 或者 Quartz Scheduler。 在 Apache Camel 中,Timer 组件主要用于创建周期性的事件源,这些事件...
在Java Swing中实现自动定时关机的功能,通常涉及到对操作系统API的调用,以及Swing的定时器机制。下面将详细介绍这个过程。 首先,我们要创建一个Swing应用程序,这通常从`JFrame`开始,它作为应用的主窗口。在...
在Java编程环境中,Java Swing库提供了丰富的组件和功能来创建桌面应用程序。本教程将深入讲解如何使用Java Swing来实现桌面右下角的弹窗效果,以及如何让Swing窗体闪烁,以吸引用户的注意力。 首先,Java Swing是...
Swing动态加载曲线图在Java开发中是一种常见需求,特别是在数据可视化或...总之,Swing动态加载曲线图的实现涉及Swing组件、绘图API和定时器的使用。通过理解这些基本概念,开发者可以创建出功能丰富的数据可视化应用。
综上所述,"Java时钟小程序"利用了Java的Swing库构建GUI,使用Timer定时器以非阻塞方式周期性更新时间,并在UI线程安全地重绘时钟界面,以达到模拟实际时钟的效果。通过理解这些概念,你可以构建出一个功能完善的...
7. **动画效果**:虽然Swing本身并不直接支持复杂的动画效果,但可以通过定时器(`javax.swing.Timer`)和手动更新组件状态来实现简单的动画。 8. **事件监听**:通过实现`ActionListener`或其他监听器接口,可以响应...
总的来说,"swing小黑点移动"这个示例涵盖了Swing GUI编程中的基本元素:组件创建、绘图、布局管理、事件处理和定时器。它是一个很好的起点,可以帮助开发者理解如何在Swing环境中实现动态视觉效果,为更复杂的GUI...
在 Swing 中实现动画通常涉及到定时器(Timer)和重绘(repaint)机制。 在 Swing 中实现动画的步骤通常如下: 1. **定义组件**: 首先,你需要创建一个自定义的 Swing 组件,例如继承自 JComponent 或 JPanel。这...
在这个例子中,可能使用了Java的Swing或JavaFX库来创建GUI。`JFrame`、`JButton`、`JTextField`等组件可能被用来展示时间设定和控制按钮。`ActionListener`接口用于监听按钮点击事件,触发`Timer`的启动和停止。 4...
- javax.swing.Timer:Swing 提供的定时器类,用于每隔一定时间触发某个事件,例如更新时钟的秒针位置。 4. **事件处理**: - `ActionListener`:用于监听用户设置时间的操作,例如点击按钮调整时间。 5. **模型...
同时,Swing提供了定时器(javax.swing.Timer)类,可以用于实现游戏的帧率控制,保证游戏的流畅运行。 对于“星际争霸”这样的策略游戏,还需要处理大量的数据结构和算法。例如,可能需要设计实体类(如单位、建筑...