那麼,你可以使用Robot類獲得鼠標座標。這是一個例子。
com.sun.glass.ui.Robot robot =
com.sun.glass.ui.Application.GetApplication().createRobot();
int y = robot.getMouseY();
System.out.println("y point = " + y);
int x = robot.getMouseX();
System.out.println("x point= " + x);
它在linux(基本操作系統)上試過它,它工作。
更新: 經過一些Google搜索之後,我發現TestFX看起來像是試圖實現Robot類的原型。看看下面給出的鏈接。 https://github.com/TestFX/Robot http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-December/018412.html
你也可以做這樣的事情來獲得座標。
public void start(Stage primaryStage) throws Exception {
GlassRobot robot = new GlassRobotImpl();
Point2D point = robot.getMouseLocation();
double x = point.getX();
double y = point.getY();
System.out.println("y = " + y);
System.out.println("x = " + x);
if(x > 10) {
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
我不是專家,但據我所知,這並不容易。鼠標/光標通常是一個操作系統元素,除非你有一個窗口來捕獲它,否則你不會得到它。您可能需要下降到原生級別(JNA?),否則您需要創建並顯示透明的「舞臺」,然後獲取座標,然後放棄該透明舞臺。 – Jai
@Jai感謝您的反饋。這可能確實是這樣,因此得到一個乾淨的解決方案可能不能,但不知何故模擬一個'MouseEvent'。 – Rolch2015