我正试图在我的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?
答案 0 :(得分:0)
您需要使用JavaFx MouseEvent
。
目前您正在尝试使用Java.awt MouseEvent
尝试仅从Javafx导入Java库而不是awt,这样可以避免输入错误的类型。
一旦解决了问题,方法getX()
和getY()
应该会给你一个位置。 (或者取决于你想要的位置相对于,getScreenX()
或getSceneX()
可能是你想要的。)