【问题标题】:How to get scene coordinates of a stationary mouse cursor in JavaFX 2.2?如何在 JavaFX 2.2 中获取静止鼠标光标的场景坐标?
【发布时间】:2015-08-06 14:29:34
【问题描述】:

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

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

【问题讨论】:

标签: java javafx javafx-2


【解决方案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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 2023-01-30
    • 2016-06-02
    相关资源
    最近更新 更多