gpt4 book ai didi

JavaFX VBox 调整大小

转载 作者:行者123 更新时间:2023-12-01 11:05:37 28 4
gpt4 key购买 nike

我正在基于 JavaFX 的游戏中创建弹出确认消息,并试图弄清楚布局是如何工作的。我的 PopUp 类扩展了 StackPane,其构造函数如下所示:

public PopUp (String str)
{
super();
Color dark = Color.rgb(0, 0, 0, 0.35);
setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
setPrefSize(Double.MAX_VALUE, Double.MAX_VALUE);
FXUtil.backgroundColor(dark, this);

Text displayText = new Text(str);
displayText.setFont(FontFactory.general(18.0));
displayText.setFill(Color.WHITE);
displayText.setWrappingWidth(560.0);

buttonBox = new HBox(20.0);
buttonBox.setAlignment(Pos.CENTER);
FXUtil.backgroundColor(Color.GREY, buttonBox);

VBox arrangement = new VBox(20.0, displayText, buttonBox);
arrangement.setAlignment(Pos.CENTER);
arrangement.setMaxWidth(600.0);
FXUtil.backgroundColor(Color.RED, arrangement);

getChildren().add(arrangement);
}

(FXUtil类是为了方便设置背景颜色,FontFactory顾名思义)

后来添加了几个按钮,但我惊讶地发现 VBox 的排列使用了完整的垂直空间,尽管它的首选高度是其子级的组合高度(加上插图等,根据文档)。基本上,它是一个跨越窗口高度的高红色条。

有没有办法让它使用其首选高度而不是最大高度?我希望它足够高以适合它的 child 。

最佳答案

将最大高度属性绑定(bind)到计算的高度属性。如:

arrangement.maxHeightProperty().bind( arrangement.heightProperty());

关于JavaFX VBox 调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32983618/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com