JavaFx StackPane в SceneBuilder, как сделать видимой только переднюю панель, не отключая видимость других?

1

Связанный вопрос: Узлы - выберите слой для отображения JavaFX2

Я использую JavaFx 8 с SceneBuilder 2. У меня есть несколько панелей в качестве дочерних элементов StackPane, и я хотел бы сделать видимым только передний узел. Мне нужно сделать это, не отключая видимость других детей, и я попытался сделать это, используя параметр непрозрачности, показанный ниже (игнорируйте тот факт, что видимость отключена):

Изображение 174551

Без отключения видимости других дочерних узлов дети всегда нарисованы друг над другом, даже при использовании разных режимов смешивания (SRC_OVER & SRC_ATOP), как показано ниже:

Изображение 174551

Причина, по которой я хотел бы избежать установки видимости на false для дочерних элементов, заключается в том, что я хочу оживить переход между панелями, в которых одна панель должна быть нарисована поверх другой.

Мне, должно быть, здесь что-то не хватает, но я не понимаю, что это такое?

  • 1
    Вы можете добавить background color к панелям, который заблокирует видимость для других панелей. Более того, настройка видимости также не кажется плохой опцией. Вы всегда можете изменить видимость при переходе.
Теги:
javafx
user-interface
scenebuilder

2 ответа

2
Лучший ответ

Ответ заключается в том, чтобы установить цвет фона панелей. Непрозрачность не действует без предварительной установки цвета фона.

0

Вы можете попробовать установить видимость на false. Для этого вызовите setVisible(false) на узле, который вы хотите сделать невидимым в StackPane.

Смотрите Node :: setVisible

Ещё вопросы

Сообщество Overcoder
Наверх
Меню