Макет JavaFX, который масштабируется с родителем
Я использую JavaFX в проекте вместо Swing из-за улучшенного мультимедиа, веб-браузера и возможности использовать визуальные эффекты. Тем не менее, что я узнал из того, что я нашел в Интернете (http://docs.oracle.com/javafx/2/layout/jfxpub-layout.htm и другие) это чтоJavaFX менеджеры по расположениюсосредоточиться на масштабировании размера родителя в зависимости от размера контента, в то время каксвинг фокусируется намасштабирование контента в соответствии с родителемпо крайней мере на основеLayout
использовался.
Прямо сейчас я используюAccordion
с некоторымиTitledPane
дети. Один из них содержитGridPane
по той простой причине, что это лучший способ, которым я знаю, чтобы подражатьGridLayout
(как я узнал из моего предыдущего вопроса здесь:Макет JavaFX эквивалентен GridLayout). Я хочу иметьTitledPane
Содержимое разделено на 2 строки и 1 столбец, каждая строка имеет 50% высоты доступного пространства вTitledPane
(масштабирование сStage
или жеScene
), что эквивалентноGridLayout(2,1)
внутриBorderLayout.CENTER
выполнит. Для этого я добавилGridPane
с 2RowConstraint
с помощьюsetPercentHeight(50)
и 1ColumnConstraint
с участиемsetPercentWidth(100)
, Тем не менее, я заметил, что содержимое масштабируется с сеткой должным образом, но сетка не занимает все доступное пространство вTitledPane
(потому что, видимо, это не действует какBorderPane
центр). Я также пытался сsetMaxWidth
сделать масштабирование контента с родителем, но это, похоже, тоже не работает (как сказано здесь:JavaFX: Как заставить мой пользовательский компонент использовать все доступное пространство из родительского макета?). И даже если бы это было так, нужно ли мне устанавливать максимальную ширину КАЖДОГО потомка в моем дереве элементов пользовательского интерфейса, чтобы все они масштабировались?
В любом случае, кто-нибудь знает, как сделатьTitledPane
с двумя равными пробелами в ней под каждым другим, который масштабируется с размером титульной панели?