如何在Java中更改光标图标?

时间:2010-11-25 07:27:11

标签: java icons runtime cursor

我想在Java应用程序执行时将光标图标更改为我自定义的32x32图像。我查找并搜索,我发现的只是在JComponent上设置光标。但是,只要Java应用程序仍在运行,或者您可以说程序运行时,我希望将光标更改为指定的图标,无论它在哪里移动,浏览和单击。

非常感谢。

5 个答案:

答案 0 :(得分:42)

标准光标图像:

setCursor(Cursor.getDefaultCursor());

用户定义的图片:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("icons/handwriting.gif");
Cursor c = toolkit.createCustomCursor(image , new Point(mainPane.getX(), 
           mainPane.getY()), "img");
mainPane.setCursor (c);

您可以下载包含示例来源的zip:HERE

答案 1 :(得分:9)

致电Component.setCursor。 类Cursor作为一些预定义的游标。

可以创建自定义光标图像:

setCursor(Toolkit.getDefaultToolkit().createCustomCursor(
new ImageIcon("custom.png").getImage(),
new Point(0,0),"custom cursor"));

答案 2 :(得分:4)

尝试在rootPane上设置光标。

frame.getRootPane().setCursor(...);

答案 3 :(得分:1)

public void mouseEntered(MouseEvent e)
{
// set cursor for frame and its component
//  this is the current frame you are using .
//  You can change the this keyword with your frame name .

java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("/images/mousepoint.jpg");
Cursor a = toolkit.createCustomCursor(image , new Point(this.getX(),this.getY()), "");
this.setCursor (a);
}

或者你可以参考: -
http://java23s.blogspot.in/2011/07/to-change-mouse-pointer-using-java.html

答案 4 :(得分:0)

为什么你没有一个排除JFrame的MyFrame类。它只是调用JFrame构造函数并将光标设置为您想要的光标。在我的应用程序中,我们有一个没有光标的触摸屏,所以这就是我打算实现它的方式。