(mouse.x) 정수에 첨부 된 changelistener로이 작업을 수행하고 싶습니다. 그러나 getPointerInfo(). getLocation(); 한번 초기화됩니다. 그 후에 위치는 업데이트되지 않습니다. 어떻게이 changelisteners가 가치의 변화에 작동하게 만들 수 있습니까?changelistener를 사용하여 마우스 위치 x y의 변경을 모니터링하는 방법?
어쩌면 이것을하는 더 좋은 방법이 있습니다. 어떤 도움을 주셔서 감사합니다.
public class TheMidiApp extends Application {
@Override
public void start(Stage stage) throws Exception {
Point mouse = java.awt.MouseInfo.getPointerInfo().getLocation();
System.out.println("MouseX " + mouse.x);
System.out.println("MouseY " + mouse.y);
//Changelistener X
IntegerProperty changeValueMouseX = new SimpleIntegerProperty(mouse.x);
changeValueMouseX.addListener(new ChangeListener<Number>(){
@Override
public void changed(ObservableValue <? extends Number> observableValue, Number oldValue, Number newValue){
System.out.println("OLD MOUSE X VALUE: " + oldValue);
System.out.println("NEW MOUSE X VALUE: " + newValue);
}
});
//Changelistener Y
IntegerProperty changeValueMouseY = new SimpleIntegerProperty(mouse.y);
changeValueMouseX.addListener(new ChangeListener<Number>(){
@Override
public void changed(ObservableValue <? extends Number> observableValue, Number oldValue, Number newValue){
System.out.println("OLD MOUSE Y VALUE: " + oldValue);
System.out.println("NEW MOUSE Y VALUE: " + newValue);
}
});
MouseX = mouse.x;
MouseY = mouse.y;
루트 노드에 수신기가 있어야합니다. 루트 노드에서 onMouseMoved를 시도 할 것입니다. – Sedrick