2014-12-07 5 views
7

У меня есть splitpane, созданный из FXML, который состоит из трех панелей слева направо. Я хочу, чтобы у меня была прямая правая панель, но я не могу найти ничего, чтобы скрыть ее. Если я поворачиваю видимость, он скрывает содержимое панели. Я хочу временно скрыть его, чтобы панель была визуально удалена.JavaFX 8, как скрыть панель в Splitpane?

Как временный обходной путь я перемещаю делитель на 100%, но это оставляет видимый разделитель. Другим побочным эффектом является то, что если я изменяю размер главного окна, разделитель не останется в крайнем правом положении.

Любые советы по сокрытию одной панели в сплитпане?

Или любые советы по наилучшему способу достижения этого без splitpane (самая правая панель должна быть изменчиваема, если не скрыта). Общие указатели методов/контейнеры будут оценены, так как я новичок в Java/JavaFX, но не в программировании :)


ответ

12

Кажется, я нашел его, даже думал, что это не простой скрыть/показать сделку. Моя разделенная область называется «mainSplitPane», а та, которую я хочу скрыть/показать, является третьей. После инициализации контроллера я извлекаю третью панель и сохраняю ее в «componentPane».

Объявлен в controllerclass:

Node componentsPane; 

Вызывается в методе инициализации в controllerclass:

componentsPane=mainSplitPane.getItems().get(2); 

код, чтобы скрыть:

mainSplitPane.getItems().remove(componentsPane); 

И код, чтобы показать:

mainSplitPane.getItems().add(2, componentsPane); 
mainSplitPane.setDividerPosition(1, 0.8); 

Побочным эффектом является то, что я должен установить dividerposition, так как он удален.

+0

Другие методы/указатели/подсказки? – Backtomusic

Смежные вопросы