• category: swing folder: BlinkLabel title: JLabelの文字列を点滅させる tags: [JLabel, Timer] author: aterai pubdate: 2004-04-12T03:14:13+09:00 description: javax.swing.Timerを使って文字列が点滅するJLabelを作成します。 image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTIHWUuKaI/AAAAAAAAASQ/gfrtJsq0Xck/s800/BlinkLabel.png

概要

javax.swing.Timerを使って文字列が点滅するJLabelを作成します。

サンプルコード

JLabel label = new JLabel();
Timer timer = new Timer(300, e -> label.setText("".equals(label.getText()) ? "!!!Warning!!!" : ""));
timer.start();
View in GitHub: Java, Kotlin

解説

javax.swing.Timerを使って、JLabelにテキスト文字列と空文字列を交互に設定することで点滅を表現しています。

新しいjava.util.Timerは汎用的で多くの機能を持っていますが、SwingなどのGUIコンポーネントを更新する場合はアクションがEDT(イベント・ディスパッチ・スレッド)で実行されるjavax.swing.Timerを使用します。

参考リンク

コメント