• title: Cursorのアニメーション tags: [Cursor, Animation] author: aterai pubdate: 2006-05-01T12:35:56+09:00 description: Timerを使ったCursorの切り替えで、マウスポインタのループアニメーションを行います。

概要

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

サンプルコード

list[0] = tk.createCustomCursor(tk.createImage(url00), pt, "00");
list[1] = tk.createCustomCursor(tk.createImage(url01), pt, "01");
list[2] = tk.createCustomCursor(tk.createImage(url02), pt, "02");
animator = new Timer(100, new ActionListener() {
  private int counter;
  @Override public void actionPerformed(ActionEvent e) {
    button.setCursor(list[counter]);
    counter = (counter + 1) % list.length;
  }
});
button = new JButton(new AbstractAction("Start") {
  @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();
    }
  }
});
View in GitHub: Java, Kotlin

解説

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

各コマは、ぶーん(通常の選択.ani、VIPポインタ)から、ANIめーかーを使って生成しています。

参考リンク

コメント