4

如何在 JavaFX 2 中设置/获取光标的位置?

我厌倦了用谷歌搜索答案,但没有发现任何有用的东西。我所能做的就是设置光标的样式。

4

2 回答 2

6
import java.awt.MouseInfo;
// get the mouse's position
Point p = MouseInfo.getPointerInfo().getLocation();

import java.awt.Robot;
// set the mouse position
new Robot().mouseMove( x, y );

PS。不要使用 com.sun.* 类(除非您使用的是 Mac,请参见下文)。

PS2。由于似乎将在 JavaFX8 中修复的 JavaFX 问题,您不能在 Mac 中使用 java.awt 类,正如 Alexander Kirov 所指出的,在 Mac 中您仍然需要像这样使用 com.sun 类:

// workaround for Mac only
com.sun.glass.ui.Robot robot =
       com.sun.glass.ui.Application.GetApplication().createRobot();

// getPosition of the mouse in Mac
int x = robot.getMouseX(); 
int y = robot.getMouseY();
于 2013-03-11T09:20:06.130 回答
4

您可以为此目的使用机器人:

AWT机器人:

http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Robot.html

或玻璃机器人:

com.sun.glass.ui.Robot;可以通过以下方式创建:com.sun.glass.ui.Application.GetApplication().createRobot();

要获取光标位置,请参阅有关 java.awt.MouseInfo 的其他帖子

于 2013-01-05T22:08:27.580 回答