ホームページ >Java >&#&チュートリアル >Swing で X 秒ごとに ArrayList の単語で JLabel を更新するにはどうすればよいですか?

Swing で X 秒ごとに ArrayList の単語で JLabel を更新するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-11 09:16:09884ブラウズ

How Can I Update a JLabel with Words from an ArrayList Every X Seconds in Swing?

ArrayList から JLabel を X 秒ごとに更新する

この記事では、JLabel の更新で課題に直面している問題に対処します。 Swing アプリケーションで動的に。具体的には、各単語が一定期間出現する一連の単語を表示しようとしています。

これを解決するには、javax.swing.Timer クラスを利用します。仕組みの概要は次のとおりです:

  1. タイマーの作成: X ミリ秒ごとにアクションをトリガーするタイマーを定義します。たとえば、単語を 2 秒ごとに表示するには、遅延を 2000 ミリ秒に設定します。
final Timer timer = new Timer(2000, null);
  1. ActionListener の実装: タイマーがトリガーされたときに実行する ActionListener を作成します。イベント。このリスナーでは、JLabel に表示されるテキストを更新します。
ActionListener listener = new ActionListener() {
    private Iterator<Word> it = words.iterator();

    @Override
    public void actionPerformed(ActionEvent e) {
        if (it.hasNext()) {
            JLabel.setText(it.next().getName());
        }
        else {
            timer.stop();
        }
    }
};
  1. タイマーに ActionListener を追加します: ActionListener をタイマーに関連付けます。
timer.addActionListener(listener);
  1. 開始タイマー: タイマーを開始してイベントのトリガーを開始します。
timer.start();
  1. Update Text On Event: タイマーがイベントをトリガーすると、ActionListener はJLabel のテキストとリスト内の次の単語。単語がなくなると、タイマーが停止します。

これらの手順に従うことで、JLabel での動的テキスト更新の望ましい効果を実現できます。

以上がSwing で X 秒ごとに ArrayList の単語で JLabel を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。