Java Swing 实现 60 秒倒计时功能 - 带确认退出提示
下面是一个使用 JFrame 实现 60 秒钟倒计时功能的示例代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CountdownTimer extends JFrame {
private JLabel countdownLabel;
public CountdownTimer() {
setTitle('倒计时');
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
setLayout(new FlowLayout());
countdownLabel = new JLabel('60');
countdownLabel.setFont(new Font('Arial', Font.BOLD, 48));
add(countdownLabel);
Timer timer = new Timer(1000, new ActionListener() {
int count = 60;
@Override
public void actionPerformed(ActionEvent e) {
count--;
countdownLabel.setText(Integer.toString(count));
if (count == 0) {
((Timer) e.getSource()).stop();
JOptionPane.showMessageDialog(null, '倒计时结束!');
int option = JOptionPane.showConfirmDialog(null, '确认退出窗口?');
if (option == JOptionPane.YES_OPTION) {
dispose();
}
}
}
});
timer.start();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new CountdownTimer().setVisible(true);
}
});
}
}
这个示例通过使用一个 Timer 对象来实现倒计时功能。在每次计时器触发时,将倒计时的数字减 1,并更新 JLabel 的文本内容。当倒计时到达 0 时,弹出一个消息框显示倒计时结束的消息,并询问用户是否确认退出窗口。如果用户点击了确认按钮,就调用 dispose() 方法关闭窗口。
原文地址: http://www.cveoy.top/t/topic/vTH 著作权归作者所有。请勿转载和采集!