Wann wird translate verwendet und wann verschoben? - Was ist der Unterschied zwischen Übersetzungs- und Layoutkoordinaten?

8

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)?

verwenden

Um 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%     
Pitelk 03.03.2015, 15:44
quelle

1 Antwort

8

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

neu berechnet %Vor%     
Sergey Grinev 03.03.2015, 17:06
quelle

Tags und Links