为什么setCursor()不起作用?

时间:2018-07-30 22:02:24

标签: java user-interface compiler-errors cursor awt

我正在尝试通过为游戏创建自定义光标来测试Java的新方面,但是似乎我遇到了一个问题,在我的代码中 setCursor(); 带来了出现编译器错误,原因是它不被视为正确的代码。我遵循的是教程和不同的指南,所有这些都导致相同的问题,但我的查询没有找到答案。

Toolkit toolKit = Toolkit.getDefaultToolkit();
Image img = toolKit.getImage(getClass().getResource("/res/cursor.png"));
Point point = new Point(0, 0);
Cursor cursor = toolKit.createCustomCursor(img, point, "Cursor");
setCursor(cursor);

希望有人可以为我提供帮助,在此先感谢。 注意:

  • 我目前正在运行最新的JRE(1.8)。
  • 收到的编译器错误如下:
  

线程“ AWT-EventQueue-0”中的异常java.lang.Error:尚未解决   编译问题:         对于类型Main,未定义setCursor(Cursor)方法

1 个答案:

答案 0 :(得分:1)

由于MadProgrammer的最后评论,问题得以解决:

  

然后,您需要使用<a id="a-link"></a> Title ------ 的实例调用#### <a id="a-link"></a> Title (when you wanna control the h{N} with #'s) -一个可运行的示例将使其变得更容易。

我遇到的问题是我使用JFrame作为容器而不是JPanel。为了修复以前的代码,我将主容器更改为JPanel,作为回报,我使用了:setCursor

编辑:经过进一步的测试,我还发现JFrame仍然可以像前面提到的一样使用。上面我的代码的问题是我以JPanel的身份来调用它,这是对非静态方法的静态调用。然后,这给我的印象是我应该只使用JPanelName.setCursor();(如上面的查询所示)。希望这对可能对JFrame.setCursor();方法有误解的人有所帮助。再次感谢MadProgrammer解决了这个问题。

相关问题