【发布时间】:2014-07-18 06:57:02
【问题描述】:
最近我正在构建一个 java swing 应用程序并想添加一个自定义光标。我使用了以下代码,
public void customCursor() {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("pencil.gif");
Point hotspot = new Point(0,0);
Cursor cursor = toolkit.createCustomCursor(image, hotspot, "pencil");
setCursor(cursor);
}
并在构造函数中调用 customCursor() 方法。当我运行应用程序时,我的光标是不可见的。我尝试给出绝对路径并使用 url。还是同样的问题。我还知道(正如这里提到的http://en.allexperts.com/q/Java-1046/cursor-1.htm),Windows 操作系统的最佳光标大小是 32x32。所以对于上面的代码集,我添加了以下行,
toolkit.getBestCursorSize(32, 32);
仍然没有进展。我也尝试使用 32x32 像素的图像,但运气仍然不好。任何人都可以提出解决方案。 (如果是版本问题,我使用的是 jdk 1.7 和 jre7)
【问题讨论】:
-
我应该提到,如果您使用大于 32x32 的图像,Windows 通常会截断超过 32x32 像素范围的所有内容,因此,您可能只是看到了空白。确保它自己的图像正好是 32x32
-
@Makoto 我会争辩说,除了“已接受”的答案是链接到异地资源之外,这与如何创建自定义光标无关,因为 OP 已经显示工作代码,但为什么特定图像不起作用,这听起来更像是图像位置或加载图像的方式和/或 Windows 下图像大小的问题 - 恕我直言