Swing/BlinkLabel のバックアップの現在との差分(No.14)
TITLE:JLabelの文字列を点滅させる
JLabelの文字列を点滅させる
編集者:Terai Atsuhiro~
作成日:2004-04-12
更新日:2024-04-12 (金) 14:44:59
概要
javax.swing.Timer
を使って文字列が点滅するJLabel
を作成します。
Screenshot
Advertisement
概要
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?