我已经在SceneBuilder中创建了Scene,并希望使用一个属性来更改子布局的高度和父项的高度和宽度。我已经在控制器类中使用绑定完成了它。但是,将绑定应用于每个子布局和控制器非常耗时。因此,我需要一个属性或属性组合来帮助我节省编码的时间和精力。我有一个简单的示例,可以将您的HBox放在VBox中。
当我在SceneBuilder中进行设计时:
当我将其全屏显示时:
答案 0 :(得分:1)
这取决于父布局。对于每种可能的布局,没有通用的方法可以做到这一点。
对于VBox
,您应该使用VBox.vgrow
(将所有子项都设置为Priority.SOMETIMES
)和VBox
的{{1}}属性,但是对于fillWidth
,对于Pane
,将需要您设置锚点,对于AnchorPane
/ GridPane
的{{1}}列/行约束或可以使用增长优先级。 ..
percentWidth
/ percentHeight
的示例VBox
您可以使用表达式绑定来创建某些绑定。参见https://docs.oracle.com/javase/10/docs/api/javafx/fxml/doc-files/introduction_to_fxml.html#expression_binding
HBox
请注意,如果您使用此方法,SceneBuilder将显示警告,并且不会正确显示预览。