如何在java中创建自定义光标图像

如何在java中创建自定义光标图像,java,swing,Java,Swing,我正在创建一个应用程序,根据用户单击的按钮,我希望更改光标图像。我几乎不知道这个工具包是如何工作的,但是在浏览了很多人的推荐之后 我在工具箱中遇到的一个主要问题是,我不知道如何向它添加自定义图像,也不知道如何向它添加点对象。。。我尝试了MouseInfo.getPointerInfo(),但仍然不起作用,“新点(0,0)”也不起作用 我已经在这个类中扩展了JPanel,所以我不知道是否可以同时扩展这个点 我不知道如何添加我的自定义图像到它,我也不知道如何添加一个点对象到它 首先,创建一个16x1

我正在创建一个应用程序,根据用户单击的按钮,我希望更改光标图像。我几乎不知道这个工具包是如何工作的,但是在浏览了很多人的推荐之后

我在工具箱中遇到的一个主要问题是,我不知道如何向它添加自定义图像,也不知道如何向它添加点对象。。。我尝试了MouseInfo.getPointerInfo(),但仍然不起作用,“新点(0,0)”也不起作用 我已经在这个类中扩展了JPanel,所以我不知道是否可以同时扩展这个点

我不知道如何添加我的自定义图像到它,我也不知道如何添加一个点对象到它

首先,创建一个16x16的自定义映像

基本准则是:

Image customimage = ...;
Cursor customCursor = Toolkit.getDefaultToolkit().createCustomCursor(customImage, new Point(0, 0), "customCursor");
然后,当您想使用它时,您可以:

component.setCursor( customCursor );
要重置使用的光标

component.setCursor( null );
我不知道如何添加我的自定义图像到它,我也不知道如何添加一个点对象到它

首先,创建一个16x16的自定义映像

基本准则是:

Image customimage = ...;
Cursor customCursor = Toolkit.getDefaultToolkit().createCustomCursor(customImage, new Point(0, 0), "customCursor");
然后,当您想使用它时,您可以:

component.setCursor( customCursor );
要重置使用的光标

component.setCursor( null );

你试过什么吗?在某些特定代码中是否存在编码问题?请显示谷歌快速搜索的第一个结果:Itamar,没有具体问题,我只是把Thomas搞糊涂了,我读了那个链接,那个人提供了java提供的内置光标选项,我想要定制的东西,比如圆形或矩形你试过什么吗?在某些特定代码中是否存在编码问题?请显示谷歌快速搜索的第一个结果:Itamar,没有具体问题,我只是把Thomas搞糊涂了,我读了那个链接,那个人提供了java提供的内置光标选项,我想要一些定制的东西,比如圆形或矩形当你指的是图像自定义图像时,我应该将这个png文件存储在哪里?与我的其他类在同一个包中?另一件事是,新的点(0,0)不适合我,因为我已经有了一个点类,但这不会有什么区别,因为如果我在我的点类中创建一个单独的构造函数,使它接受2个整数参数,它仍然不起作用。错误:类型工具包中的方法createCustomCursor(java.awt.Image,java.awt.Point,java.lang.String)不适用于参数(java.awt.Image,mypackage.paint.Point,java.lang.String)“另一件事是,新点(0,0)对我不起作用,因为我已经有了一个Point类”完全限定对它的每个引用,或者(更有可能)给它起一个更好的或更具体的名字。想一想,把注意力集中在与
java.awt.point
不同的方面,或者做得更多的方面-基于这些方面命名。例如
MapPoint
或者
CharacterLocation
或者..我实际上无法将我的图像设置为类中的变量,命令/me是什么thod?getImage似乎不起作用…@Wallace,你可以使用
ImageIO
读取图像文件,是的应该与其他类文件在同一个包中。当你是说image customimage时,我应该在哪里存储此png文件?与其他类在同一个包中?另一件事是,new Point(0,0)对我来说不起作用,因为我已经有了一个point类,但这不会有什么区别,因为如果我在point类中创建一个单独的构造函数,这样它就可以接受2个整数参数,它仍然不会起作用。错误:方法createCustomCursor(java.awt.Image,java.awt.point,java.lang.String)在类型工具箱不适用于参数(java.awt.Image、mypackage.paint.Point、java.lang.String)的情况下,“另一件事是,新的点(0,0)对我不起作用,因为我已经有了一个点类”或者“完全限定对它的每个引用,或者(更可能)给它起一个更好的或更具体的名字。想一想,把注意力集中在与
java.awt.point
不同的方面,或者做得更多的方面-基于这些方面命名。例如
MapPoint
或者
CharacterLocation
或者..我实际上无法将我的图像设置为类中的变量,命令/me是什么thod?getImage似乎不起作用…@Wallace,您可以使用
ImageIO
读取图像文件,yes is应该与其他类文件位于同一个包中。