Java 使用自定义光标
我在这里搜索了好几条线索,但没有一条有用 我有几个Java 使用自定义光标,java,swing,cursor,Java,Swing,Cursor,我在这里搜索了好几条线索,但没有一条有用 我有几个JFrame,每个JFrame都应该有自己的光标,表示用户正在使用的程序版本。 这些文件位于/AndroidToolkit/resources中。这些文件都是.cur文件,所以它们实际上是正确的游标,而不仅仅是图像 我试过几种方法,但都成功了。我尝试过使用ImageIO、Toolkit,最后一次尝试是: Cursor cCur = Toolkit.getDefaultToolkit().createCustomCursor(getClass().
JFrame
,每个JFrame
都应该有自己的光标,表示用户正在使用的程序版本。
这些文件位于/AndroidToolkit/resources中。这些文件都是.cur文件,所以它们实际上是正确的游标,而不仅仅是图像
我试过几种方法,但都成功了。我尝试过使用ImageIO、Toolkit,最后一次尝试是:
Cursor cCur = Toolkit.getDefaultToolkit().createCustomCursor(getClass().getResource("../resources/ImpressionCursor.cur").getFile()., null, null);
我如何能以一种简单的方式做到这一点,这对其他人来说很容易理解,而不必总是用10k行来评论它
提前感谢,,
Beats这就是你需要的,试试这段代码,在Ubuntu 12.04 LTS上100%适用于我,它也应该适用于你:
public static void main(String[] args) {
Toolkit toolKit = Toolkit.getDefaultToolkit();
Image pencil = toolKit.getImage("pencil.gif");
Cursor cursor = toolKit.createCustomCursor(pencil, new Point(0, 0), "Pencil");
JFrame frame = new JFrame("Cursor Test");
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setCursor(cursor);
frame.setVisible(true);
}
这是gif文件的链接,
我希望这会有所帮助,Salam
getResource(../resources/ImpressionCursor.cur”).getFile()
是个坏主意(getFile部分),getResource
返回URL
,因此它应该可以与ImageIcon
一起使用createCustomCursor
不接受.cur
文件,这是一个依赖于操作系统的概念,这就是为什么您还需要提供光标的热点和名称。@AnderThompson一次只加载一个帧。“一次只加载一个帧。”您似乎正在使用GUI组件制作某种“向导”API,该API更适合单个框架和CardLayout
@andrewhompson No,No。根据设置中是否有特定键,即对于pro版本,将加载pro UI。如果找不到密钥或无效密钥,则加载标准UI;如果找到开发人员密钥,则加载开发人员UI。谢谢。我会试试看:)