我使用下面的代码为JPanel设置自定义光标,但是当我运行代码时,它会放大我为光标设置的图像.有没有办法设置用户定义的游标大小?
Toolkit toolkit = Toolkit.getDefaultToolkit();
BufferedImage erasor=new BufferedImage(10,10, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d=(Graphics2D) erasor.createGraphics();
g2d.setPaint(Color.red);
g2d.drawRect(e.getX(),e.getY() ,10, 10);
toolkit.getBestCursorSize(10, 10);
Cursor mcursor=toolkit.createCustomCursor(erasor, new Point(10,10), "Eraser");
setCursor(mcursor);
Run Code Online (Sandbox Code Playgroud)
小智 5
Windows似乎只允许大小为32x32像素的游标,所以如果你想要另一个大小,你必须解决它.
要获得较小的尺寸,请使用createCustomCursor()32x32图像,其中不需要的像素是透明的.如果使用BufferedImage.TYPE_INT_ARGB,可以使像素透明.
要制作更大的光标,我相信这会奏效:
创建一个完全透明的自定义光标.
使用a mouseMotionListener来获取光标的位置.
在真实(透明)光标的位置绘制光标图像.