gpt4 book ai didi

JavaFX - 类似于 VBox 的东西,但不会自动调整

转载 作者:行者123 更新时间:2023-12-01 12:24:51 25 4
gpt4 key购买 nike

我在寻找类似于 VBox 的东西(将元素设置在彼此之上)时遇到了一些麻烦,但这不会自动调整。我正在尝试创建甘蒂图,但如果我创建宽度较小的矩形并将文本添加到 VBox 中,并且数字宽度大于我的矩形宽度,它将选择数字宽度。当我开始用 HBox() 将东西放在一起时,这就成了一个问题。

我可以给你看它的图片:

从图像中可以看出,蓝色和黑色矩形之间有空白,这是由于数字的宽度大于矩形的宽度造成的。我想忽略数字宽度并让矩形彼此完全相邻(尽管将数字保留在中间矩形的中心)。 HBox 已创建,值为 0,因此没有间隙。

我的代码完全用爱沙尼亚语编写,我将提供一个示例代码,该代码不是来自实际程序,但具有我所做的想法:

        HBox hbox1 = new HBox();
VBox vbox1 = new VBox();
Rectangle r1 = new Rectangle(0,0,30,30);
Rectangle r2 = new Rectangle(0,0,5,50);
r2.setFill(Color.BLUE);
Rectangle r3 = new Rectangle(0,0,30,30);
Text t1 = new Text();
t1.setText(Integer.toString(222));
vbox1.getChildren().addAll(r2,t1);
hbox1.getChildren().addAll(r1,vbox1,r3);
root.setBottom(hbox1);

提前致谢。

最佳答案

执行此操作的方法之一如下:

将文本节点设置为其父节点无法管理,并手动确定其位置

Text t1 = new Text();
t1.setText(Integer.toString(222));
t1.setManaged(false);
t1.setLayoutX(-t1.getLayoutBounds().getWidth() / 2);
t1.setLayoutY(r2.getHeight() + t1.getLayoutBounds().getHeight());

关于JavaFX - 类似于 VBox 的东西,但不会自动调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26445088/

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