2016-11-14 50 views
0

我正在创建一个应用程序,并基于用户单击的按钮我想要更改光标图像。我几乎不知道该工具包是如何工作的,但浏览了很多人后推荐的。如何在java中创建自定义光标图像

我与工具箱有一个主要问题是,我不知道如何添加我的自定义图像到它,我也不知道如何添加一个Point对象...我试过MouseInfo.getPointerInfo()但这仍然行不通,既不会“新的Point(0,0)” 我已经在这个类中扩展JPanel,所以我不知道是否有可能同时扩展Point ...

+2

你尝试过什么吗?在某些特定的代码中是否有任何编码**问题**?请显示[mcve] – ItamarG3

+1

快速谷歌搜索的第一个结果:http://stackoverflow.com/questions/7359189/how-to-change-the-mouse-cursor-in-java – Thomas

+0

Itamar,没有具体问题,我只是困惑 托马斯,我通过该链接阅读,该人提供了内置的光标选项java提供了,我想定制像一个圆或矩形的东西 – Wallace

回答

3

I dont know how to add my custom images to it and I also do not know how to add a Point object to it

首先你创建一个16×16

自定义图像的基本代码是:

Image customimage = ...; 
Cursor customCursor = Toolkit.getDefaultToolkit().createCustomCursor(customImage, new Point(0, 0), "customCursor"); 

然后,当你想使用它你:

component.setCursor(customCursor); 

要重置光标使用

component.setCursor(null); 
+0

当你的意思是图像customimage我应该存储这个PNG文件在哪里? 与我的其他课程在同一个包中? – Wallace

+0

另一件事是,新的Point(0,0)没有为我工作,因为我已经有了一个点类,但这不应该有所作为,因为如果我在我的点类中创建一个单独的构造函数,所以它需要2整数参数,它仍然不会工作。错误:类型Toolkit 中的方法createCustomCursor(java.awt.Image,java.awt.Point,java.lang.String)不适用于参数(java.awt.Image,mypackage.paint.Point,java。 langString) – Wallace

+0

*“另一件事是,新的Point(0,0)不适合我,因为我已经有了一个点类”*要么完全限定每个引用,要么更可能给它更好或更具体的名称。想一想,就把注意力放在与java.awt.Point不同或者做得比java.awt.Point更重要的方面 - 将它们作为名字的基础。例如。 'MapPoint'或'CharacterLocation'或.. –

相关问题