在java中将16x16图像设置为鼠标光标

在java中将16x16图像设置为鼠标光标,java,Java,如何在java中将16x16图像设置为鼠标光标而不缩放该图像?尝试以下操作: Toolkit toolkit = Toolkit.getDefaultToolkit(); Image image = toolkit.getImage("icons/your_image.png"); Cursor c = toolkit.createCustomCursor(image , new Point(mainPanel.getX(),mainPanel.getY()), "img");

如何在java中将16x16图像设置为鼠标光标而不缩放该图像?

尝试以下操作:

  Toolkit toolkit = Toolkit.getDefaultToolkit();
  Image image = toolkit.getImage("icons/your_image.png");
  Cursor c = toolkit.createCustomCursor(image , new Point(mainPanel.getX(),mainPanel.getY()), "img");
  mainPanel.setCursor (c);

Windows光标的大小必须始终为32x32像素。如果指定的图像小于该值,Windows会将图像缩放到32x32。这是一个问题,因为您设置的热点无法缩放。此问题的解决方案是在光标图像的右侧和底部添加透明像素,使图像为32x32。

此解决方案是缩放16x16图像。然后我想您可以隐藏光标并显示一个窗口。JWindow中只有您的图像,其位置将在MouseListener()中的mouseMoved上更新。