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

时间:2015-08-06 14:29:35

标签: java javafx javafx-2

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

在我的情况下:按下某个热键后,我想要相对于当前鼠标位置发生一些事情。但我无法获得位置信息。我该怎么办?

1 个答案:

答案 0 :(得分:-1)

好的,我找到了至少一个解决方案,利用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
}