Допустим, у меня есть некоторый TextField, который находится глубоко в структуре макета панели. Я хочу добавить слушателя или каким-то образом распознать, что TextField изменил свою позицию (x, y) в сцене. Вопрос в том, как я могу добиться этого надлежащим, многоразовым способом?
Я предоставляю тестовый код. Для воссоздания, пожалуйста, перетащите границу сцены, что приведет к изменению положения TextField.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class App extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
TextField textField = new TextField();
Button button = new Button("Button");
HBox hBox = new HBox(textField, button);
hBox.setMaxSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
StackPane stackPane = new StackPane(hBox);
stackPane.setPrefSize(600., 400.);
Scene scene = new Scene(stackPane);
stage.setScene(scene);
stage.show();
}
}