Frage

Wie setze ich Z-Ordnung für VBox in Javafx?

War es hilfreich?

Lösung

Z-Order in Javafx ist eigentlich die Reihenfolge im Szenengraph, z. in der Inhaltssequenz der Szene (dann im Inhalt der Gruppen, Container usw.).

Alle Knoten haben auch Funktionen für tofront () und toback (), um diese Reihenfolge zu ändern. Für eine feinere Steuerung müssen Sie Knoten von einer Stelle entfernen und in der Sequenz höher oder niedriger einfügen.

Andere Tipps

Mit den Funktionen tofront () und toback () können Sie tatsächlich die Z-Ordnung beeinflussen, sind sich jedoch bewusst, dass dies auch das Layout beeinflusst. Die Hbox und Vbox verwenden beispielsweise auch die Reihenfolge der Kinder, um das Layout zu erledigen, und verschiebt sie etwas an die Vorderseite bis zum Ende des [HV] -Boxs. Dies ist möglicherweise nicht das, wonach Sie suchen.

Ich suchte nach einer Möglichkeit, eine Animation mit dem animierten Knoten auf allen anderen zu machen, ohne das Layout durcheinander zu bringen. Es scheint keine Möglichkeit zu tun, da die Z-Order und die Layout-Reihenfolge aus der Kinderordnung entnommen werden.

Während die anderen Antworten noch korrekt sind, fügte Javafx 9 eine Möglichkeit hinzu, die Z-Ordnung zu manipulieren, ohne die Kinderliste zu ändern. Dies geschieht mit dem Node.viewOrder Eigentum.

Javadoc:

Definiert die Render- und Auswahlreihenfolge davon Node innerhalb seines Elternteils.

Diese Eigenschaft wird verwendet, um die Render- und Auswahl der Reihenfolge eines Knotens innerhalb seines Elternteils zu ändern, ohne die Eltern neu zu ordnen children aufführen. Dies kann beispielsweise als effizientere Methode zur Implementierung der Transparenzsortierung verwendet werden. Dazu kann eine Anwendung die zuweisen viewOrder Wert jedes Knotens zum berechneten Abstand zwischen diesem Knoten und dem Betrachter.

Der Elternteil wird seine durchqueren children bei Abnahme viewOrder bestellen. Dies bedeutet, dass ein Kind mit einem niedrigeren Kind viewOrder wird vor einem Kind mit einem höher sein viewOrder. Wenn zwei Kinder dasselbe haben viewOrder, Der Elternteil durchquert sie in der Reihenfolge, die er im Elternteil erscheinen children aufführen.

Jedoch, viewOrder verändert das Layout nicht und konzentriert Node innerhalb seines Elternteils. Ein Elternteil durchquert immer seine children Listen Sie in der Reihenfolge auf, wenn Sie Layout oder Fokus -Traversal durchführen.

Standardwert:

0.0

Seit:

9

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top