TITLE:Cursorのアニメーション

Cursorのアニメーション

編集者:Terai Atsuhiro~

作成日:2006-05-01
更新日:2021-10-14 (木) 14:05:44
  • category: swing folder: AnimatedCursor title: Cursorのアニメーション tags: [Cursor, Animation] author: aterai pubdate: 2006-05-01T12:35:56+09:00 description: Timerを使ったCursorの切り替えで、マウスポインタのループアニメーションを行います。 image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTHkbNXdwI/AAAAAAAAARY/RzDAT8xyR3c/s800/AnimatedCursor.png

概要

Timerを使ったCursorの切り替えで、マウスポインタのループアニメーションを行います。

概要

マウスカーソルをアニメーションさせます。

#screenshot

サンプルコード

#spanend
 list[0] = tk.createCustomCursor(tk.createImage(url00), p, "00");
 list[1] = tk.createCustomCursor(tk.createImage(url01), p, "01");
 list[2] = tk.createCustomCursor(tk.createImage(url02), p, "02");
 setCursor(list[0]);
 animator = new javax.swing.Timer(100, new ActionListener() {
   private int count = 0;
   public void actionPerformed(ActionEvent e) {
     setCursor(list[count]);
     count = (count<list.length-1)?count+1:0;
   }
 });
 JButton button = new JButton(new AbstractAction("スタート") {
   public void actionPerformed(ActionEvent e) {
     JButton button = (JButton)e.getSource();
     if(animator.isRunning()) {
       button.setText("スタート");
       animator.stop();
     }else{
       button.setText("ストップ");
       animator.start();
     }
   }
 });
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
Toolkit tk = Toolkit.getDefaultToolkit();
#spanend
#spanadd
list[0] = tk.createCustomCursor(tk.createImage(url00), pt, "00");
#spanend
#spanadd
list[1] = tk.createCustomCursor(tk.createImage(url01), pt, "01");
#spanend
#spanadd
list[2] = tk.createCustomCursor(tk.createImage(url02), pt, "02");
#spanend
#spanadd
animator = new Timer(100, new ActionListener() {
#spanend
  private int counter;
  @Override public void actionPerformed(ActionEvent e) {
    button.setCursor(list[counter]);
    counter = (counter + 1) % list.length;
  }
#spanadd
});
#spanend
#spanadd
button = new JButton(new AbstractAction("Start") {
#spanend
  @Override public void actionPerformed(ActionEvent e) {
    JButton b = (JButton) e.getSource();
    if (animator.isRunning()) {
      b.setText("Start");
      animator.stop();
    } else {
      b.setText("Stop");
      animator.start();
    }
  }
#spanadd
});
#spanend
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルでは、ボタンをクリックすると、パネル上にあるカーソルがアニメーションするようになっています。3枚の透過pngファイルをコマにして、Timerで順番にこれを切り替えています。

解説

  • JButtonのクリックでパネル上にあるカーソルのアニメーションを開始
  • 3枚の透過pngファイルをコマにしてTimerで順番にこれを切り替え
各コマは、ぶーん(通常の選択.ani、VIPポインター)から、ANIめーかーを使って生成しています。

参考リンク

参考リンク

コメント