是否有可能通过createCustomCursor()
方法创建一个比Windows预定义的32x32更大的光标(例如64x64甚至更大)?
Toolkit toolkit = Toolkit.getDefaultToolkit();
final Image cursor = toolkit.getImage(getClass().getClassLoader().getResource("images/cursor.png"));
toolkit.getBestCursorSize(64, 64);
Cursor mycursor=toolkit.createCustomCursor(cursor, new Point(0,0), "cursor");
setCursor(mycursor);
我尝试了以下操作:
Cursor emptyCursor = Toolkit.getDefaultToolkit().createCustomCursor(new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB), new Point(0, 0), "empty");
setCursor(emptyCursor);
this.addMouseMotionListener(new MouseMotionListener(){
public void mouseDragged(MouseEvent e) {
}
public void mouseMoved(MouseEvent e) {
xCursor = e.getX();
yCursor = e.getY();
repaint();
//e.consume();
}
});
public void paint( Graphics g ) {
g.drawImage(cursor, xCursor, yCursor, null);
}
但是它不起作用,整个图形用户界面消失了,并且光标在每个点处都被绘制,所以我必须以某种方式将其删除?