Swing/AnimatedCursor のバックアップソース(No.14)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/AnimatedCursor へ行く。
- 1 (2006-05-01 (月) 12:35:56)
- 2 (2006-05-01 (月) 17:13:32)
- 3 (2006-07-11 (火) 12:40:23)
- 4 (2006-07-25 (火) 16:53:29)
- 5 (2007-05-08 (火) 14:25:37)
- 6 (2007-06-27 (水) 12:36:59)
- 7 (2008-05-07 (水) 19:38:00)
- 8 (2008-07-28 (月) 16:23:03)
- 9 (2008-09-01 (月) 23:18:57)
- 10 (2010-01-19 (火) 17:03:17)
- 11 (2010-12-12 (日) 23:18:01)
- 12 (2011-04-27 (水) 19:23:24)
- 13 (2013-03-07 (木) 15:48:20)
- 14 (2013-09-05 (木) 18:29:27)
- 15 (2014-01-30 (木) 17:38:24)
- 16 (2014-06-06 (金) 17:06:20)
- 17 (2014-10-30 (木) 00:10:53)
- 18 (2014-11-01 (土) 00:46:09)
- 19 (2014-12-04 (木) 02:31:19)
- 20 (2016-03-09 (水) 21:13:44)
- 21 (2017-03-30 (木) 13:59:47)
- 22 (2017-08-24 (木) 17:42:54)
- 23 (2017-11-02 (木) 15:34:40)
- 24 (2017-12-26 (火) 17:06:55)
- 25 (2019-05-17 (金) 18:19:21)
- 26 (2020-04-08 (水) 16:05:34)
- 27 (2021-10-14 (木) 14:05:17)
- 28 (2022-08-20 (土) 22:15:25)
TITLE:Cursorのアニメーション #navi(../) #tags(Cursor, Animation) RIGHT:Posted by &author(aterai); at 2006-05-01 *Cursorのアニメーション [#j7158da4] マウスカーソルをアニメーションさせます。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTHkbNXdwI/AAAAAAAAARY/RzDAT8xyR3c/s800/AnimatedCursor.png) **サンプルコード [#h16203df] #code(link){{ 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; @Override public void actionPerformed(ActionEvent e) { setCursor(list[count]); count = (count<list.length-1)?count+1:0; } }); JButton button = new JButton(new AbstractAction("スタート") { @Override public void actionPerformed(ActionEvent e) { JButton button = (JButton)e.getSource(); if(animator.isRunning()) { button.setText("スタート"); animator.stop(); }else{ button.setText("ストップ"); animator.start(); } } }); }} **解説 [#b3798cf8] 上記のサンプルでは、ボタンをクリックすると、パネル上にあるカーソルがアニメーションするようになっています。``3``枚の透過``png``ファイルをコマにして、``Timer``で順番にこれを切り替えています。 各コマは、[http://www11.atwiki.jp/vippointer/pages/54.html ぶーん(通常の選択.ani、VIPポインター)]から、[http://www.vector.co.jp/soft/win95/amuse/se195017.html ANIめーかー]を使って生成しています。 **参考リンク [#bf958cfb] -[http://www11.atwiki.jp/vippointer/ VIPポインター@Wiki - トップページ] -[http://www.vector.co.jp/soft/win95/amuse/se195017.html ANIめーかー(Windows95/98/Me/アミューズメント)] -[[Cursorオブジェクトの生成>Swing/CustomCursor]] -[http://www.oreilly.co.jp/books/4873112788/download.html oreilly.co.jp -- Online Catalog: Java Swing Hacks] **コメント [#q9ef944e] - ``Cursor``に用いる``png``ファイルは、フルカラー(``24``ビット)ではなく``256``色にしておかないと、うまく透過できないようです。もしかしたら自分の``PC``の画面の色が``16``ビットになっているせいかもしれません。 -- [[aterai]] &new{2006-07-11 (火) 12:41:59}; -- ``32``ビットにしてもだめみたいです。 -- [[aterai]] &new{2006-07-25 (火) 16:53:29}; -- 追記: ``JDK 6``なら、フルカラーでも問題なく透過できるようです。[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6388546 Bug ID: 6388546 PNG with transparent background doesn't render correctly] -- [[aterai]] &new{2008-07-28 (月) 16:27:56}; - ``Windows XP``で、カーソルを``Animated GIF``ファイルから生成(``Toolkit.getDefaultToolkit().createCustomCursor``)しようとすると、%%落ちる%%? ``Ubuntu``だと、アニメーションはしないけど、ちゃんと画像がカーソルになる。 -- [[aterai]] &new{2007-05-08 (火) 14:25:37}; -- デッドロック? -- [[aterai]] &new{2008-05-07 (水) 19:38:38}; -- メモ: [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4343270 Bug ID: 4343270 Toolkit.createCustomCursor() hangs the VM under Win NT]、[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4939855 Bug ID: 4939855 Please allow Toolkit.createCustomCursor() to accept multi-frame images] -- [[aterai]] &new{2008-09-01 (月) 23:18:57}; -- よくみたら、[http://docs.oracle.com/javase/jp/6/api/java/awt/Toolkit.html#createCustomCursor(java.awt.Image,%20java.awt.Point,%20java.lang.String) Toolkit#createCustomCursor]に、「マルチフレームイメージは無効で、このメソッドがハングすることがあります。」と注意書きがあった(``1.4.2``のドキュメントから?)。 -- [[aterai]] &new{2010-01-19 (火) 17:03:17}; #comment