#navi(contents-page-name): No such page: ST

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を作成します。

サンプルコード

#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
#spanadd
View in GitHub: Java, Kotlin
javax.swing.Timer timer = new javax.swing.Timer(600, new ActionListener(){
  boolean flg = true;
  public void actionPerformed(ActionEvent e){

    else    setText("");
    flg = !flg;
  }
});
timer.start();

解説

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

参考リンク

コメント