在Java中實現圖形界面的倒計時可以使用Swing或JavaFX來構建界面。以下是使用Swing實現倒計時的示例代碼:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CountdownTimer extends JFrame {
private JLabel timerLabel;
private Timer timer;
private int counter;
public CountdownTimer(int seconds) {
counter = seconds;
timerLabel = new JLabel(String.valueOf(counter), SwingConstants.CENTER);
timerLabel.setFont(new Font("Arial", Font.BOLD, 24));
getContentPane().add(timerLabel, BorderLayout.CENTER);
timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
counter--;
timerLabel.setText(String.valueOf(counter));
if (counter == 0) {
timer.stop();
JOptionPane.showMessageDialog(CountdownTimer.this, "倒計時結束");
}
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
setVisible(true);
timer.start();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new CountdownTimer(10));
}
}
這個例子使用了JFrame作為窗口容器,并添加了一個JLabel來顯示倒計時的數值。使用Timer類每隔1秒觸發一個ActionEvent來更新倒計時的數值,并判斷是否結束倒計時。當倒計時結束時,彈出一個消息框提示倒計時結束。你可以根據需要修改倒計時的秒數和界面的樣式。