6.3这个部分讲的是接口和回调
当到达指定的时间间隔之后,定时器就调用actionPerformed方法
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;//避免和 java.util.Timer 冲突
public class TimerTest {
public static void main(String[] args)
{
ActionListener listener=new TimerPrinter();
//构建一个 timer 它可以每隔10秒钟调用listener
Timer t=new Timer(10000,listener);
t.start();
JOptionPane.showMessageDialog(null,"Quit program?");
System.exit(0);
}
}
class TimerPrinter implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Date now=new Date();
System.out.println("At the tone ,the time is:"+now);
Toolkit.getDefaultToolkit().beep();
}
}
运行结果:
首先出现一个对话框:

不要做任何操作 10秒后,出现:
At the tone ,the time is:Fri May 06 12:36:09 CST 2022
At the tone ,the time is:Fri May 06 12:36:19 CST 2022
At the tone ,the time is:Fri May 06 12:36:29 CST 2022
At the tone ,the time is:Fri May 06 12:36:39 CST 2022
At the tone ,the time is:Fri May 06 12:36:49 CST 2022
计算机还会发出蜂鸣声。
本文介绍了Java中使用 javax.swing.Timer 实现的定时器功能,它每隔10秒钟调用actionPerformed方法,输出当前时间并播放蜂鸣声。示例代码展示了一个简单的定时器应用,当启动程序后,会先显示一个对话框,然后在10秒内连续输出时间并伴随蜂鸣声。
300

被折叠的 条评论
为什么被折叠?



