使用JavaFX和Event获取鼠标位置

时间:2015-06-22 16:55:01

标签: java javafx

我正试图在我的JavaFX应用程序中获得鼠标单击的位置。我有一个EventHandler:

EventHandler<Event> mouseHandler = new EventHandler<Event>() {
    @Override
    public void handle(Event event) {
        String eType = event.getEventType().toString();
        if(eType.equals("MOUSE_PRESSED")){
            //mouse position
        }
    }
};

在鼠标按下,释放和拖动时调用。我无法从Event获取鼠标的位置,当我尝试将EventHandler<Event>更改为EventHandler<MouseEvent>时,我收到了Type paremeter 'java.awt.event.MouseEvent' is not within it's bounds; should extend to 'javafx.event.Event'消息。

如何将其移至MouseEvents?

1 个答案:

答案 0 :(得分:0)

您需要使用JavaFx MouseEvent

目前您正在尝试使用Java.awt MouseEvent

尝试仅从Javafx导入Java库而不是awt,这样可以避免输入错误的类型。

一旦解决了问题,方法getX()getY()应该会给你一个位置。 (或者取决于你想要的位置相对于,getScreenX()getSceneX()可能是你想要的。)