title: When to use translate and when relocate - What is the difference between translate and layout coordinates?
body: <p>When to use translate and when relocate in order to move a node? In the end of the day it seems they do the same thing (visually); move the node;  the first by doing a translation on the origin (the x, y stays the same), the second by changing the x, y coords.
  So suppose i want to move a node in a specific point in the screen.. should i use node.relocate(x,y) or node.setTranslateX(x), node.setTranslateY(y)?</p>
  
  <p>To demostrate what I mean I have made a sample program you can play with:
  A rectangle on the screen, whose position is determined by 4 sliders (2 of them controlling the layout x, y the other two controlling the translate x, y).</p>
  
  <pre><code>/* 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);
      }
  }
  </code></pre>