Swing/CustomCursor のバックアップの現在との差分(No.16)
- category: swing folder: CustomCursor title: Cursorオブジェクトの生成 tags: [Cursor, BufferedImage, ImageIcon] tags: [Cursor, BufferedImage, ImageIcon, JComponent] author: aterai pubdate: 2005-01-24 description: 新しいカスタムカーソルオブジェクトを作成します。 pubdate: 2005-01-24T03:58:31+09:00 description: BufferedImageからカーソルオブジェクトを作成し、これをコンポーネントに設定します。 image:
概要
新しいカスタムカーソルオブジェクトを作成します。概要
BufferedImage
からカーソルオブジェクトを作成し、これをコンポーネントに設定します。
Screenshot
Advertisement
サンプルコード
サンプルコード
#spandel
BufferedImage bi2 = new BufferedImage(32, 32, BufferedImage.TYPE_INT_ARGB);
#spanend
#spandel
Graphics2D g2d2 = bi2.createGraphics();
#spanend
#spandel
g2d2.setPaint(Color.RED);
#spanend
#spandel
g2d2.drawOval(8, 8, 16, 16);
#spanend
#spandel
g2d2.dispose();
#spanend
#spandel
lbl2.setCursor(getToolkit().createCustomCursor(bi2, new Point(16, 16), "oval"));
#spanend
#spandel
label2.setIcon(new ImageIcon(bi2));
#spanend
#spanadd
BufferedImage bi = new BufferedImage(32, 32, BufferedImage.TYPE_INT_ARGB);
#spanend
#spanadd
Graphics2D g2 = bi.createGraphics();
#spanend
#spanadd
g2.setPaint(Color.RED);
#spanend
#spanadd
g2.drawOval(8, 8, 16, 16);
#spanend
#spanadd
g2.dispose();
#spanend
#spanadd
button.setCursor(getToolkit().createCustomCursor(bi, new Point(16, 16), "oval"));
#spanend
View in GitHub: Java, Kotlin解説
Toolkit#createCustomCursor
メソッドでカーソルオブジェクトを作成します。上記のサンプルコードでは、32*32
のバッファの中心に、直径16
の円をかき、この円の中心がホットスポットとなるようなカーソルを作っています。
解説
- サイズが
32x32px
のBufferedImage
からToolkit#createCustomCursor(...)
メソッドを使用してカーソルオブジェクトを作成- ホットスポットはその
BufferedImage
の中心に設定
- ホットスポットはその
-
String
:BufferedImage
に文字を描画 -
drawOval
:BufferedImage
に円を描画 -
paintIcon
:BufferedImage
にIcon
を描画