Этот код позволяет перемещать узел, удерживая мышь:
private double xc, yc;
private void makePortable(Node node){
node.setOnMousePressed(event -> {
xc = node.getTranslateX() - event.getSceneX();
yc = node.getTranslateY() - event.getSceneY();
});
node.setOnMouseDragged(event -> {
node.setTranslateX(xc+event.getSceneX());
node.setTranslateY(yc+event.getSceneY());
});
}
Этот метод встроен в синглтон.У него есть метод, которому передается узел, который добавляется в панель и ранее был переносимым.
public static final Word WORD = new Word();
private Pane input;
private Text text;
private Word(){
}
public void init(Pane input){
this.input = input;
}
public void addCanvas(Text text){
this.text = text;
makePortable(text);
input.getChildren().add(text);
}
public void draw(){
//And here I need to get his current coordinates
action(text.get???X(), text.get???Y());
}
Но теперь мне нужно получить координаты смещенного узла.Как я могу это сделать?