JavaFX - 如何使 VBox 子级与 VBox 父级一起成长

Posted

技术标签:

【中文标题】JavaFX - 如何使 VBox 子级与 VBox 父级一起成长【英文标题】:JavaFX - How to make VBox children grow with VBox parent 【发布时间】:2020-02-21 14:09:03 【问题描述】:
VBox classBox = new VBox();
className = new Text("defaultClass");
classBox.setAlignment(Pos.CENTER);
classBox.getChildren().add(className);
classBox.getStyleClass().add(VM_BOXES);

variablesBox = new VBox();
variablesBox.getStyleClass().add(VM_BOXES);

methodsBox = new VBox();
methodsBox.getStyleClass().add(VM_BOXES);

this.getChildren().add(classBox);
this.getChildren().add(variablesBox);
this.getChildren().add(methodsBox);

this.getStyleClass().add(VM_BOXES);

嗨,我有一个扩展 VBox 的类,并且有三个孩子也是 VBoxes。我写了一个方法,我可以调整类的大小并使其更大/更小。当我把它变大时,它里面的 VBoxes 不会随父级缩放。我不确定它是否水平缩放,但它不是垂直缩放。我尝试在网上搜索解决方案,但找不到任何解决方案。感谢您提供任何帮助,谢谢

这是一个可视化问题的图片

【问题讨论】:

【参考方案1】:

您必须为VBoxes 设置垂直增长约束:

VBox.setVgrow(box1, Priority.ALWAYS);

【讨论】:

对不起,如果你还在,如果你能告诉我如何对那些子 VBox 中的标签做同样的事情,我将非常感激。 也将 vGrow 设置为您的标签,并将其 maxHeight 设置得足够高

以上是关于JavaFX - 如何使 VBox 子级与 VBox 父级一起成长的主要内容,如果未能解决你的问题,请参考以下文章

均匀间隔子级,但将父级与 flex 右对齐

如何使 JavaFX 窗格适应其内容的大小?

如何使用 GridPane JavaFX 使按钮跨越多个列/行?

如何均匀分布 JavaFX VBox 的元素

如何在 javafx 中设置带有子窗口的菜单栏?

JavaFX 样式所有相同类型的节点,例如,VBox