2016-11-28 10 views
1

Я надеялся добиться этого с помощью сборщика изменений, прикрепленного к целому числу (mouse.x). Но getPointerInfo(). GetLocation(); инициализируется. После этого позиция не обновляется. Как я могу заставить эти списки изменений работать на изменение стоимости?Как контролировать изменение положения мыши x y, используя changelistener?

Возможно, есть лучший способ сделать это. Любая помощь приветствуется.

+0

Вам нужен слушатель на корневом узле. Я бы попробовал onMouseMoved на корневом узле. – Sedrick

ответ

0

Вам нужен прослушиватель корневого узла.

public class JavaFXApplication29 extends Application { 

    @Override 
    public void start(Stage primaryStage) { 


     AnchorPane root = new AnchorPane(); 
     Scene scene = new Scene(root, 500, 500); 

     root.setOnMouseMoved(new EventHandler<MouseEvent>(){ 
      @Override 
      public void handle(MouseEvent event) { 
       System.out.println("mouse X: " + event.getX()); 
       System.out.println("mouse Y: " + event.getY()); 
      } 
     });  

     primaryStage.setTitle("Hello World!"); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     launch(args); 
    } 

} 
+0

Это было бы хорошим началом, однако мне нужно знать позицию за пределами приложения (Java), потому что мышь может быть на другом экране. У меня есть главный экран и сенсорный экран. Приложение работает на сенсорном экране. Я использую это, чтобы телепортировать мою мышь обратно в исходное положение, если бы оно осталось. Телепортация положения мыши работает, только она возвращается в одно и то же положение каждый раз. Вот почему я хочу отслеживать и обновлять старую позицию мыши на главном экране. – Bram

+0

http://stackoverflow.com/questions/2469515/java-mouse-motion-anywhere-on-screen Ответ на этот вопрос может помочь. – Sedrick

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

  • Нет связанных вопросов^_^