2015-06-22 3 views
0

Я пытаюсь получить положение щелчка мыши в своем приложении JavaFX. У меня есть EventHandler как таковой:Получение позиции мыши с JavaFX и событием

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

Вам необходимо использовать JavaFx MouseEvent.

В настоящее время вы пытаетесь использовать java.awt MouseEvent

Попробуйте импортировать только Java библиотеки из JavaFX и не AWT, так что вы можете избежать неправильного типа.

Как только вы исправите это, методы getX() и getY() должны указать вам положение. (Или в зависимости от того, что вы хотите от этого положения, getScreenX() или getSceneX() может быть тем, что вы хотите.)

+0

А, конечно. Справедливости ради следует отметить, что я не был впервые застигнут различиями awt против javafx. – Nanor

+0

Действительно, очень сложно определить, используете ли вы (или даже должны использовать) классы 'javafx',' awt' или 'swing'. – River

Смежные вопросы