2011年6月20日月曜日

【メモ】Javaでデスクトップアプリケーションを作っていて、マウスカーソルを非表示にしたい時

マウスカーソルを砂時計にしたいとかのニーズはありそうですが。。。
こんなニーズあるんでしょうか。。。
あるんです。

java.awt.Cursorクラスには以下のようなスタティックフィールドが定義されてます。

        Cursor.CROSSHAIR_CURSOR
        Cursor.CUSTOM_CURSOR
        Cursor.DEFAULT_CURSOR
        Cursor.E_RESIZE_CURSOR
        Cursor.HAND_CURSOR
        Cursor.MOVE_CURSOR
        Cursor.NE_RESIZE_CURSOR
        Cursor.NW_RESIZE_CURSOR
        Cursor.N_RESIZE_CURSOR
        Cursor.SE_RESIZE_CURSOR
        Cursor.SW_RESIZE_CURSOR
        Cursor.S_RESIZE_CURSOR
        Cursor.TEXT_CURSOR
        Cursor.WAIT_CURSOR
        Cursor.W_RESIZE_CURSOR 

カーソル非表示!!!というフィールドがあってもいいような気がするんですが
用意されてないようです。

そこで、
将来の為にメモ。

  1. BufferedImage image = new BufferedImage(16,16,  
  2.                    BufferedImage.TYPE_4BYTE_ABGR);  
  3. Graphics2D g2 = image.createGraphics();  
  4. // 黒で透明 black & transparency  
  5. g2.setColor(new Color(0,0,0,0));     
  6. g2.fillRect(0,016,16);  
  7. g2.dispose();  
  8. mainPanel.setCursor(Toolkit.getDefaultToolkit().createCustomCursor(  
  9.                    image, new Point(0,0), "null_cursor"));  

0 件のコメント:

コメントを投稿