---
category: swing
folder: AnimatedToolTip
title: JToolTipのアニメーション
tags: [JToolTip, JLabel, Animation, AnimatedGif, Html]
author: aterai
pubdate: 2007-04-23T09:48:54+09:00
description: JToolTipが表示されたとき、内部のJLabelでアイコンのアニメーションを行う方法をテストします。
image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTHpat_rFI/AAAAAAAAARg/fzkRLOHGb7I/s800/AnimatedToolTip.png
---
* 概要 [#summary]
`JToolTip`が表示されたとき、内部の`JLabel`でアイコンのアニメーションを行う方法をテストします。

#download(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTHpat_rFI/AAAAAAAAARg/fzkRLOHGb7I/s800/AnimatedToolTip.png)

* サンプルコード [#sourcecode]
#code(link){{
ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL url = cl.getResource("example/anime.gif");
JLabel l3 = new JLabel("Gif Animated ToolTip(html)");
l3.setToolTipText(String.format("<html><img src='%s'>Test3", url));
}}

* 解説 [#explanation]
- `Timer Animated ToolTip`
-- `javax.swing.Timer`を使ってアニメーションを行う`JLabel`を作成し`JToolTip`にその`JLabel`を追加
-- `javax.swing.Timer`を使ってアニメーションを実行する`JLabel`を作成して`JToolTip`に配置
-- [[Timerでアニメーションするアイコンを作成>Swing/AnimeIcon]]
#code{{
JLabel l1 = new JLabel("Timer Animated ToolTip") {
  @Override public JToolTip createToolTip() {
    JToolTip tip = new AnimatedToolTip(new AnimatedLabel(""));
    tip.setComponent(this);
    return tip;
  }
};
l1.setToolTipText(" ");
}}

- `Gif Animated ToolTip`
-- `Animated GIF`ファイルを`JLabel#setIcon(Icon)`で設定し`JToolTip`にその`JLabel`を追加
-- `Animated GIF`ファイルを`JLabel#setIcon(Icon)`で設定した`JLabel`を`JToolTip`に配置
#code{{
JLabel l2 = new JLabel("Gif Animated ToolTip") {
  @Override public JToolTip createToolTip() {
    JToolTip tip = new AnimatedToolTip(
        new JLabel("", new ImageIcon(url), SwingConstants.LEFT));
    tip.setComponent(this);
    return tip;
  }
};
}}

- `Gif Animated ToolTip(html)`
-- `Animated GIF`ファイルを`<html>`タグを使って`setToolTipText(...)`メソッドで設定

* 参考リンク [#reference]
- [[JToolTipにアイコンを表示>Swing/ToolTipIcon]]
- [[Timerでアニメーションするアイコンを作成>Swing/AnimeIcon]]
- [[TrayIconのアニメーション>Swing/AnimatedTrayIcon]]

* コメント [#comment]
#comment
#comment