Java 按字符时获取鼠标位置

Java 按字符时获取鼠标位置,java,javafx,mouse-position,Java,Javafx,Mouse Position,我想在单击快捷方式时获取鼠标相对于帧的位置: @Override public void handle(KeyEvent keyEvent) { if (keyEvent.isShortcutDown()) { if (keyEvent.getCode() == KeyCode.P) { //Code Here } } } 当KeyEvent触发时,只需使用MouseInfo获取指针位置即可 @Override publi

我想在单击快捷方式时获取鼠标相对于帧的位置:

@Override
public void handle(KeyEvent keyEvent) {
    if (keyEvent.isShortcutDown()) {
        if (keyEvent.getCode() == KeyCode.P) {
            //Code Here
        }
    }
}

KeyEvent
触发时,只需使用
MouseInfo
获取指针位置即可

@Override
public void handle(KeyEvent keyEvent) {
if (keyEvent.isShortcutDown()) {
    if (keyEvent.getCode() == KeyCode.P) {
        //Code Here
        Point mouseLoc = MouseInfo.getPointerInfo().getLocation();
    }
}

如果要连续跟踪鼠标位置,应使用
MouseMoved
侦听器。

查看。基本上-您可以有一个
MouseMoved
侦听器(在您的根节点上),用于跟踪某些成员字段中的当前位置。不过,我不知道这是否是最佳方式,所以你可能需要等待专家的意见:)@sillyfly在我看来,这也是最佳选择。通过鼠标跟踪鼠标listener@Steven:他可能的意思是,这样鼠标位置就会一直被跟踪,如果只在按下键时才被跟踪会更好。@T.G这就是我的意思。让一个全局变量始终跟踪鼠标点,只要记住当按下某个键时。似乎IMO.
MouseInfo
的唯一方法是awt类,而不是Javafx。非常确定它不会工作,或者会导致问题。虽然
MouseInfo
是一个awt类,但这种方法的工作原理与预期完全相同:控制器处理它就像处理任何其他方法调用一样。显然,它可能会在osx-上导致问题。如果它能工作,那么我想这是好的,但有些人可能会认为这是不可取的(请参阅我在原始问题上链接的答案中的jewelsea注释),我认为这不起作用,因为它可以找到相对于整个屏幕的鼠标位置,而不仅仅是JavaFX帧。