Swing/BlinkLabel のバックアップの現在との差分(No.16)
TITLE:JLabelの文字列を点滅させる
Posted by terai at 2004-04-12
JLabelの文字列を点滅させる
javax.swing.Timer を使って文字列が点滅するJLabelを作成します。- 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:
概要
javax.swing.Timer
を使って文字列が点滅するJLabel
を作成します。
- &jnlp;
- &jar;
- &zip;
Screenshot
Advertisement
#screenshot
サンプルコード
#spanend
#spandel
final JLabel label = new JLabel();
#spanend
#spandel
Timer timer = new Timer(600, new ActionListener() {
#spanend
boolean flg = true;
public void actionPerformed(ActionEvent e) {
label.setText((flg)?"!警告!":"");
flg = !flg;
}
#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!!!" : "");
});
timer.start();
解説
javax.swing.Timerを使って、ラベルのテキスト文字列と空文字列を交互に表示しています。点滅の間隔や、文字列の色を変えたりして実験してみてください。解説
-
javax.swing.Timer
を使ってJLabel
にテキスト文字列と空文字列を交互に設定することで点滅を表現している -
Swing
などのGUI
コンポーネントを更新する場合、汎用的で多機能なjava.util.Timer
はでなくアクションがEDT
(イベント・ディスパッチ・スレッド)で実行されるjavax.swing.Timer
を使用する必要がある