JavaのGUIでカウントダウンタイマーを実装する方法は何ですか?

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をトリガーしてカウントダウンの値を更新し、カウントダウンが終了したかどうかを判定します。カウントダウンが終了したときには、メッセージボックスが表示され、カウントダウンが終了したことが通知されます。必要に応じてカウントダウンの秒数やインターフェースのスタイルを変更することができます。

bannerAds