利用Java实现计时器,在窗口中实时记录并显示时间
时间: 2024-02-25 18:57:12 浏览: 47
好的,以下是一个简单的Java计时器实现示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TimerExample extends JFrame implements ActionListener {
private JLabel timeLabel;
private int seconds = 0;
private int minutes = 0;
private int hours = 0;
public TimerExample() {
// 设置窗口标题
super("计时器");
// 设置窗口大小
setSize(400, 200);
// 设置窗口位置
setLocationRelativeTo(null);
// 设置窗口关闭操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口布局
setLayout(new BorderLayout());
// 创建时间标签
timeLabel = new JLabel("00:00:00", SwingConstants.CENTER);
timeLabel.setFont(new Font("宋体", Font.PLAIN, 60));
add(timeLabel, BorderLayout.CENTER);
// 创建开始按钮
JButton startButton = new JButton("开始");
startButton.addActionListener(this);
add(startButton, BorderLayout.WEST);
// 创建停止按钮
JButton stopButton = new JButton("停止");
stopButton.addActionListener(this);
add(stopButton, BorderLayout.EAST);
// 显示窗口
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("开始")) {
// 创建计时器
Timer timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 更新时间
seconds++;
if (seconds >= 60) {
seconds = 0;
minutes++;
if (minutes >= 60) {
minutes = 0;
hours++;
}
}
// 更新时间标签
timeLabel.setText(String.format("%02d:%02d:%02d", hours, minutes, seconds));
}
});
// 启动计时器
timer.start();
} else if (command.equals("停止")) {
// 停止计时器
seconds = 0;
minutes = 0;
hours = 0;
timeLabel.setText("00:00:00");
}
}
public static void main(String[] args) {
new TimerExample();
}
}
```
这个计时器使用了Java的Swing GUI库来创建窗口和组件。它包含一个时间标签、一个开始按钮和一个停止按钮。当点击开始按钮时,程序会创建一个计时器并开始计时,每隔一秒钟更新时间标签的显示。当点击停止按钮时,程序会停止计时器并将时间标签重置为"00:00:00"。