Swing/AnimatedTrayIcon のバックアップの現在との差分(No.7)
TITLE:TrayIconのアニメーション
Posted by terai at 2007-02-05
TrayIconのアニメーション
SystemTrayに追加したアイコン(JDK 6 以上)をア二メーションさせます。- category: swing folder: AnimatedTrayIcon title: TrayIconのアニメーション tags: [SystemTray, Icon, Animation] author: aterai pubdate: 2007-02-05T02:07:43+09:00 description: SystemTrayに追加したトレイアイコンをアニメーションさせます。 image:
概要
SystemTray
に追加したトレイアイコンをアニメーションさせます。
- &jar;
- &zip;
Screenshot
Advertisement
#screenshot
サンプルコード
#spanend
#spandel
final TrayIcon icon = new TrayIcon(imglist[0], "TRAY", popup);
#spanend
#spandel
animator = new javax.swing.Timer(100, new ActionListener() {
#spanend
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
TrayIcon icon = new TrayIcon(imglist[0], "TRAY", popup);
#spanend
#spanadd
animator = new Timer(100, new ActionListener() {
#spanend
private int idx = 0;
public void actionPerformed(ActionEvent e) {
@Override public void actionPerformed(ActionEvent e) {
icon.setImage(imglist[idx]);
idx = (idx<imglist.length-1)?idx+1:0;
idx = (idx + 1) % imglist.length;
}
});
解説
16*16の画像を3パターン用意し、これを JDK 6 で追加されたTrayIcon#setImage(Image)メソッドを使って切り替えることでアニメーションしています。解説
-
16x16
の画像を3
パターン用意 -
JDK 6
で追加されたTrayIcon#setImage(Image)
メソッドを使用して、この3
パターンの画像を切り替えることでトレイアイコンのアニメーションを実行
参考リンク
参考リンク
コメント
- animated gif を使うほうが簡単だと思うのですが、作ったGifが悪いのか、環境のせいなのか、残像がでてしまいます。 -- terai
- メモ: Bug ID: 6453582 Animation gif too fast -- terai
- 上のバグ?でウェイトが効かずに残像が残っていたのではなく、前のコマがそのまま残して透過色(背景色)でクリアしないタイプ?のアニメGIFになっていたようです。Giamを使って、全コマの消去方法を「背景色で塗りつぶす」に変更したファイルを使用すると、正常に描画されるようになりました。 -- terai
コメント
-
animated gif
が使用できればより簡単だと思うが、作ったGif
が悪いのか、環境のせいなのか、残像がでてしまう。 -- aterai- メモ: [JDK-6453582] Animation gif too fast - Java Bug System -- aterai
- 上のバグ?でウェイトが効かずに残像が残っていたのではなく、前のコマがそのまま残して透過色(背景色)でクリアしないタイプ?のアニメ
GIF
になっていた。Giamを使って、全コマの消去方法を「背景色で塗りつぶす」に変更したファイルを使用すると、正常に描画されるようになった。 -- aterai