Jlabel和Timer联动
时间: 2023-08-16 11:10:13 浏览: 91
在Java Swing中,可以使用JLabel和Timer来实现联动效果,以实现一些动态效果,比如倒计时、动画等。以下是一个简单的示例程序,演示了如何使用JLabel和Timer来实现一个简单的倒计时效果:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JLabelTimerDemo extends JFrame {
private JLabel label;
private Timer timer;
private int count;
public JLabelTimerDemo() {
super("JLabel and Timer Demo");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
label = new JLabel("Countdown: 10");
label.setHorizontalAlignment(JLabel.CENTER);
label.setFont(new Font("Arial", Font.BOLD, 24));
add(label, BorderLayout.CENTER);
timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (count > 0) {
count--;
label.setText("Countdown: " + count);
} else {
label.setText("Time's up!");
timer.stop();
}
}
});
count = 10;
timer.start();
}
public static void main(String[] args) {
new JLabelTimerDemo().setVisible(true);
}
}
```
这个程序创建了一个JFrame窗口,并在其中添加了一个JLabel组件,用于显示倒计时的剩余时间。同时,程序还创建了一个Timer定时器,每秒钟执行一次,用于更新倒计时的时间。在定时器的ActionListener中,如果倒计时还未结束,则更新JLabel的文本内容,否则停止定时器并显示时间到了的提示信息。程序中的count变量是用来记录倒计时的剩余时间的,初始值为10,每次定时器执行时减1,直到倒计时结束。
阅读全文