由于增强的多媒体、网络查看器和使用视觉效果的可能性,我在项目中使用 JavaFX 而不是 Swing。但是,我从网上发现的内容(http://docs.oracle.com/javafx/2/layout/jfxpub-layout.htm等)中了解到,JavaFX布局管理器专注于缩放父级基于内容的大小,而Swing专注于根据父级缩放内容,至少基于Layout
正在使用的内容。
现在我正在Accordion
和一些TitledPane
孩子一起使用。其中一个包含 a GridPane
,原因很简单,它是我所知道的模拟 a 的最佳方式GridLayout
(正如我从之前的问题中了解到的:JavaFX 布局相当于 GridLayout)。我希望将TitledPane
' 的内容分成 2 行和 1 列,每行具有 50% 的可用空间高度(用orTitledPane
缩放),相当于 a inside a将完成的工作。为此,我添加了一个with 2 s using和 1 with . 但是,我注意到内容随着网格正确缩放,但网格并没有占用所有可用空间Stage
Scene
GridLayout(2,1)
BorderLayout.CENTER
GridPane
RowConstraint
setPercentHeight(50)
ColumnConstraint
setPercentWidth(100)
TitledPane
(因为显然它不像BorderPane
' 中心)。我也尝试过setMaxWidth
使内容与父级一起缩放,但它似乎也不起作用(如此处所述:JavaFX:如何使我的自定义组件使用父级布局中的所有可用空间?)。即使可以,我是否需要在我的 UI 元素树中将最大宽度设置为每个后代以使它们全部缩放?
无论哪种方式,有没有人知道如何制作一个TitledPane
在它下面有 2 个相等的空格,并与标题窗格的大小一起缩放?