TITLE:JLabelの文字列を点滅させる

JLabelの文字列を点滅させる

編集者:Terai Atsuhiro~

作成日:2004-04-12
更新日:2024-04-12 (金) 14:44:59
  • 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を作成します。

概要

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

#screenshot

サンプルコード

#spanend
 final JLable label = new JLabel();
 Timer timer = new Timer(600, new ActionListener() {
   boolean flg = true;
   public void actionPerformed(ActionEvent e) {
     label.setText((flg)?"!警告!":"");
     flg = !flg;
   }
 });
 timer.start();
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
JLabel label = new JLabel();
#spanend
#spanadd
Timer timer = new Timer(300, e -> {
#spanend
  label.setText("".equals(label.getText()) ? "!!!Warning!!!" : "");
#spanadd
});
#spanend
#spanadd
timer.start();
#spanend
  • &jnlp;
  • &jar;
  • &zip;

解説

javax.swing.Timerを使って、ラベルのテキスト文字列と空文字列を交互に表示しています。点滅の間隔や、文字列の色を変えたりして実験してみてください。

解説

  • javax.swing.Timerを使ってJLabelにテキスト文字列と空文字列を交互に設定することで点滅を表現している
  • SwingなどのGUIコンポーネントを更新する場合、汎用的で多機能なjava.util.TimerはでなくアクションがEDT(イベント・ディスパッチ・スレッド)で実行されるjavax.swing.Timerを使用する必要がある

コメント

  • Timerがあいまいならjavax.swing.Timerで解決 -- 666

参考リンク

コメント