概要

JToolTipが表示されたとき、内部のJLabelでアイコンのアニメーションを行う方法をテストします。

サンプルコード

JLabel l3 = new JLabel("Gif Animated ToolTip(html)");
l3.setToolTipText("<html><img src='" + url + "'>Test3</html>");
View in GitHub: Java, Kotlin

解説

  • Timer Animated ToolTip
    • javax.swing.Timerを使ってアニメーションを行うJLabelを作成しJToolTipにそのJLabelを追加
    • Timerでアニメーションするアイコンを作成
      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を追加
      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(...)メソッドで設定

参考リンク

コメント