如何在 JavaFX 2.2 中获取静止鼠标光标的场景坐标?

How to get scene coordinates of a stationary mouse cursor in JavaFX 2.2?

在处理任何 MouseEvent 时,很容易通过调用 event.getSceneX() 等方法(或 event.getScreenX() ,如果这是我们想要的)来获取鼠标坐标。但是,如果当前没有鼠标事件,我不知道如何在鼠标事件处理程序之外获取此信息?

在我的例子中:按下某个热键后,我希望相对于当前鼠标位置发生一些事情。但是我无法获取位置信息。我应该怎么做?

好的,我至少找到了一个解决方案,利用 java.awt.MouseInfo,这里是概念的概要:

if (view.isHover()) {
    Point pointerLocation = MouseInfo.getPointerInfo().getLocation();

    int sceneX = pointerLocation.x;
    sceneX -= view.getScene().getWindow().getX();
    sceneX -= view.getScene().getX();

    int sceneY = pointerLocation.y;
    sceneY -= view.getScene().getWindow().getY();
    sceneY -= view.getScene().getY();

    return new Point(sceneX, sceneY);
} else {
    // mouse not in view
}