Wann wird translate verwendet und wann verschoben, um einen Knoten zu verschieben? Am Ende des Tages scheinen sie dasselbe (visuell) zu tun; verschiebe den Knoten; das erste, indem man eine Übersetzung auf den Ursprung macht (das x, y bleibt gleich), das zweite, indem man die x, y-Koordinaten ändert. Angenommen, ich möchte einen Knoten an einem bestimmten Punkt im Bildschirm verschieben. Soll ich node.relocate (x, y) oder node.setTranslateX (x), node.setTranslateY (y)?
verwendenUm zu demonstrieren, was ich meine, habe ich ein Beispielprogramm erstellt, mit dem Sie spielen können: Ein Rechteck auf dem Bildschirm, dessen Position durch 4 Schieberegler bestimmt wird (2 davon steuern das Layout x, y die anderen beiden steuern die Übersetzung x, y).
%Vor% layout
-Koordinaten werden von Layout-Managern wie StackPane oder VBox verwendet, um ihren untergeordneten Speicherort zu steuern. Group (und Pane) belässt das Child-Layout dem Entwickler, daher gibt es keinen Unterschied zu translate
functionality.
Im Allgemeinen sollten Sie also nur translate
-Koordinaten für die Feinpositionierung ändern und layout
den Layout-Managern überlassen (eigentlich können Sie layoutX, layoutY für Knoten in Nicht-Gruppen- / Pane-Layout-Managern nicht ändern)
Versuchen Sie als Beispiel, den nächsten Code auszuführen und das Fenster zu skalieren, um zu sehen, wie StackPane layoutBounds