概要
Timer
を使ったCursor
の切り替えで、マウスポインタのループアニメーションを行います。
Screenshot
Advertisement
サンプルコード
Toolkit tk = Toolkit.getDefaultToolkit();
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解説
JButton
のクリックでパネル上にあるカーソルのアニメーションを開始3
枚の透過png
ファイルをコマにしてTimer
で順番にこれを切り替え
参考リンク
- VIPポインタ@Wiki - トップページ
- このサンプルの各コマはぶーん(通常の選択.ani、VIPポインタ)からANIめーかーを使って生成
- ANIめーかー(Windows95/98/Me/アミューズメント)
- Cursorオブジェクトの生成
- oreilly.co.jp -- Online Catalog: Java Swing Hacks
- Toolkit (Java Platform SE 8)