Java数字化倒计时牌
时间: 2023-12-04 22:03:55 浏览: 77
实现Java数字化倒计时牌可以使用Java Swing组件和Timer类。
以下是一个简单的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CountdownTimer extends JFrame implements ActionListener {
private int secondsLeft;
private JLabel timeLabel;
private Timer timer;
public CountdownTimer(int secondsLeft) {
super("倒计时");
this.secondsLeft = secondsLeft;
timeLabel = new JLabel();
timeLabel.setFont(new Font("Arial", Font.BOLD, 48));
updateTimeLabel();
JPanel panel = new JPanel();
panel.add(timeLabel);
getContentPane().add(panel);
timer = new Timer(1000, this);
timer.start();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setVisible(true);
}
private void updateTimeLabel() {
int minutes = secondsLeft / 60;
int seconds = secondsLeft % 60;
timeLabel.setText(String.format("%02d:%02d", minutes, seconds));
}
@Override
public void actionPerformed(ActionEvent e) {
if (secondsLeft == 0) {
timer.stop();
JOptionPane.showMessageDialog(this, "时间到!");
dispose();
} else {
secondsLeft--;
updateTimeLabel();
}
}
public static void main(String[] args) {
new CountdownTimer(60);
}
}
```
在该示例中,我们创建了一个继承自JFrame的CountdownTimer类。该类包含一个secondsLeft变量,表示剩余秒数,一个timeLabel标签,用于显示剩余时间,一个timer计时器,用于每秒更新时间。
在构造函数中,我们创建了timeLabel和panel,并将它们添加到窗体中。然后,我们创建了一个1000毫秒(1秒)的计时器,并启动它。
在actionPerformed方法中,我们检查剩余时间是否为零,如果是,则停止计时器并显示“时间到”消息框。否则,我们减少secondsLeft变量并更新时间标签。
最后,在main方法中,我们创建了一个新的CountdownTimer对象,将其设置为60秒。
阅读全文