Когда использовать translate и когда перемещать - в чем разница между translate и layout layout?

Когда использовать translate и когда перемещать для перемещения узла? В конце дня кажется, что они делают то же самое (визуально); переместить узел; первый - перевод исходного положения (x, y остается неизменным), второй - изменение координат x, y. Итак, предположим, что я хочу переместить узел в определенной точке на экране ... я должен использовать node.relocate (x, y) или node.setTranslateX (x), node.setTranslateY (y)?

Чтобы продемонстрировать, что я имею в виду, я создал пример программы, с которой вы можете поиграть: прямоугольник на экране, положение которого определяется 4 ползунками (2 из них управляют компоновкой x, y, остальные два управляют переводом x, y).

/* imports are missing */  
public class TransReloc extends Application{
    @Override
    public void start(Stage primaryStage) throws Exception {
        Group root = new Group();
        Rectangle rect = new Rectangle(100, 50, Color.BLUE);
        root.getChildren().add(rect);
        VBox controlGroup = new VBox();
        Slider relocX = new Slider(-100, 100, 0 );
        Slider relocY = new Slider(-100, 100, 0 );
        Slider transX = new Slider(-100, 100, 0 );
        Slider transY = new Slider(-100, 100, 0 );
        rect.layoutXProperty().bind(relocX.valueProperty());
        rect.layoutYProperty().bind(relocY.valueProperty());
        rect.translateXProperty().bind(transX.valueProperty());
        rect.translateYProperty().bind(transY.valueProperty());
        controlGroup.getChildren().addAll(relocX, relocY, transX, transY);
        root.getChildren().add(controlGroup);
        controlGroup.relocate(0, 300);
        Scene scene  = new Scene(root, 300, 400, Color.ALICEBLUE);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос