Java使用线程对象或Timer定时器制作数字时钟标签组件,显示当前日期和时间,每秒刷新,将该标签添加到框架窗口。
时间: 2024-02-19 20:57:12 浏览: 89
Java中可以使用Timer定时器或者线程对象制作数字时钟标签组件,下面是使用Timer定时器制作数字时钟标签组件的示例代码:
```java
import java.awt.FlowLayout;
import java.awt.Font;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
public class DigitalClock extends JFrame {
private static final long serialVersionUID = 1L;
private JLabel clockLabel;
public DigitalClock() {
// 设置窗口的布局为流布局
setLayout(new FlowLayout());
// 创建数字时钟标签
clockLabel = new JLabel();
clockLabel.setFont(new Font("Arial", Font.BOLD, 40));
// 将数字时钟标签添加到窗口中
add(clockLabel);
// 创建定时器,每秒钟更新一次数字时钟标签
Timer timer = new Timer(1000, e -> updateClock());
timer.start();
}
// 更新数字时钟标签的内容
private void updateClock() {
Date date = new Date();
clockLabel.setText(date.toString());
}
public static void main(String[] args) {
DigitalClock clock = new DigitalClock();
clock.setTitle("Digital Clock");
clock.setSize(400, 100);
clock.setLocationRelativeTo(null);
clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
clock.setVisible(true);
}
}
```
在上述代码中,我们首先创建了一个`DigitalClock`类,继承自`JFrame`类。在`DigitalClock`类的构造函数中,我们设置了窗口的布局为流布局,并创建了一个数字时钟标签`clockLabel`,将其添加到窗口中。然后我们创建了一个定时器,并设置定时器的延迟为1秒钟。定时器的监听器使用Lambda表达式实现,每秒钟调用`updateClock()`方法更新数字时钟标签的内容。
`updateClock()`方法通过`java.util.Date`类获取当前日期和时间,并将其转换为字符串,然后将其设置为数字时钟标签的文本内容。
在`main`方法中,我们创建了一个`DigitalClock`对象,并设置了窗口的标题、大小、位置和关闭方式,最后显示窗口。程序运行后,可以看到一个数字时钟标签组件,每秒钟更新一次显示的时间。
阅读全文