【发布时间】:2018-05-04 22:17:43
【问题描述】:
我有两个TitledPanes 在一个垂直方向的SplitPane 视图。我希望当我折叠其中一个时,将另一个调整为Scene 的高度。这是我的.fxml 文件的代码:
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.control.SplitPane?>
<?import javafx.scene.control.TitledPane?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TableColumn?>
<BorderPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:id="pane"
fx:controller="stackoverflow.three.Controller">
<center>
<SplitPane fx:id="split" orientation="VERTICAL">
<TitledPane fx:id="first" text="First">
<TableView>
<columns>
<TableColumn text="Test"/>
</columns>
</TableView>
</TitledPane>
<TitledPane fx:id="second" text="Second">
<TableView>
<columns>
<TableColumn text="Test"/>
</columns>
</TableView>
</TitledPane>
</SplitPane>
</center>
</BorderPane>
如您所见,如果我折叠第一个,则视图底部有一个间隙,但我不想要那个间隙。
我尝试将maxHeight 设置为 Infinity,但随后自动移至第一个无法正常工作...
知道我能做什么吗?
【问题讨论】:
-
尝试在您的两个 TitledPanes 上设置
VBox.vgrow="always"。 -
但是我有一个
SplitPane,我无法更改为VBox,因为我需要“手动”调整大小,它有SplitPane -
您可以将 TitledPanes 包装在 SplitPane 内的 VBoxes 中。
-
是的,但是如果我折叠第一个窗格,第二个窗格不会放大到第一个。
-
嗯。你是对的,在你的原始代码中它确实放大了一些,但它仍然留下了一个空白,我想知道为什么会这样。稍后我可能会使用它并想出一个真正的答案,但我建议将您的标题窗格包装在不同类型的区域中,看看这会如何改变它们的布局。
标签: java javafx javafx-8 autoresize splitpane