Вопрос

Как мне установить Z-order для VBox в Javafx?

Это было полезно?

Решение

Z-порядок в Javafx на самом деле является порядком в сцене, например. В последовательности содержания сцены (тогда в содержимое групп, контейнеров и т. Д.).

Все узлы также имеют функции tofront () и toback (), чтобы помочь изменить этот порядок. Для более тонкого контроля вы должны удалять узлы из одного места и вставить его выше или ниже в последовательности.

Другие советы

С функциями tofront () и toback () вы действительно можете повлиять на Z-order, но имейте в виду, что это также влияет на макет. Например, Hbox и Vbox также используют последовательность детей, чтобы сделать макет, и перемещение чего -либо на переднюю часть также переместит ее в конце коробки [HV]. Это может быть не то, что вы ищете.

Я искал способ сделать анимацию с анимированным узлом на вершине всех остальных, не испортив макет. Кажется, нет никакого способа сделать это, потому что Z-порядка и порядка макета взяты из ордера ребенка.

Хотя другие ответы все еще верны, Javafx 9 добавил способ манипулировать Z-порядком без изменения списка детей. Это делается с Node.viewOrder имущество.

Javadoc:

Определяет порядок рендеринга и сбора этого Node внутри своего родителя.

Это свойство используется для изменения порядок рендеринга и сбора узла внутри своего родителя без повторного заказа родителя children список. Например, это можно использовать в качестве более эффективного способа реализации сортировки прозрачности. Для этого приложение может назначить viewOrder значение каждого узла до вычисленного расстояния между этим узлом и зрителем.

Родитель пройдет children в уменьшении viewOrder заказ. Это означает, что ребенок с более низким viewOrder будет перед ребенком с более высоким viewOrder. Анкет Если у двух детей одинаково viewOrder, родитель пройдет их в том порядке, в котором они появляются в родительском children список.

Однако, viewOrder не изменяет макет и порядок отслеживания фокусировки этого Node внутри своего родителя. Родитель всегда пересекает свой children Перечислите по порядку при выполнении макета или сфокусировки.

Значение по умолчанию:

0.0

С:

9

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top