TITLE:TrayIconのアニメーション

TrayIconのアニメーション

編集者:Terai Atsuhiro
作成日:2007-02-05
更新日:2024-04-12 (金) 14:50:28

概要

SystemTrayに追加したアイコン(JDK 6 以上)をア二メーションさせます。

#screenshot

サンプルコード

 final TrayIcon icon = new TrayIcon(imglist[0], "TRAY", popup);
 animator = new javax.swing.Timer(100, new ActionListener() {
     private int idx = 0;
     public void actionPerformed(ActionEvent e) {
         icon.setImage(imglist[idx]);
         idx = (idx<imglist.length-1)?idx+1:0;
     }
 });
  • &jar;
  • &zip;

解説

16*16の画像を3パターン用意し、これを JDK 6 で追加されたTrayIcon#setImage(Image)メソッドを使って切り替えることでアニメーションしています。

コメント

  • animated gif を使うほうが簡単だと思うのですが、作ったGifが悪いのか、環境のせいなのか、残像がでてしまいます。 -- terai
    • メモ: Bug ID: 6453582 Animation gif too fast -- terai
    • 上のバグ?でウェイトが効かずに残像が残っていたのではなく、前のコマがそのまま残して透過色(背景色)でクリアしないタイプ?のアニメGIFになっていたようです。Giamを使って、全コマの消去方法を「背景色で塗りつぶす」に変更したファイルを使用すると、正常に描画されるようになりました。 -- terai