当前位置: 首页 > 知识库问答 >
问题:

如何更改VBox中StackPane的大小,并允许VBox伸展到该大小?

陶高扬
2023-03-14

我有一个StackPane,其中的节点根据StackPane的当前大小调整自己的大小。我把这个StackPane放在VBox里面,它是场景的根。StackPane根据场景的大小进行增长和收缩(即当用户调整窗口大小时进行增长和收缩)。所有这些功能都起作用,但当程序运行时,程序创建的窗口非常小,用户必须将其调整为更大的大小才能看到其中的元素。

我尝试过设置StackPane的prefWidth和prefHeight,但VBox似乎不会根据StackPane的prefWidth和prefHeight调整自己的大小。我还考虑过设置VBox的prefWidth和prefHeight,这是可行的,但并不理想,因为我最终不得不确定所有节点的大小,而不是让它们计算自己的大小。

我所拥有的简单等价物:

VBox root = new VBox();
MenuBar menu = new MenuBar();
Rectangle rect = new Rectangle(250, 50);
StackPane sp = new StackPane();

//sp.setPrefSize(300, 300);

root.getChildren().addAll(menu, rect, sp);

Scene scene = new Scene(root);

sp.prefWidthProperty().bind(scene.widthProperty());
sp.prefHeightProperty().bind(scene.heightProperty().subtract(menu.heightProperty().subtract(rect.heightProperty()));

primaryStage.setScene(scene);
primaryStage.show();

做这件事的聪明方法是什么?

共有1个答案

井兴怀
2023-03-14

我找到了一个变通的解决方案,它不是理想的,但有效。我创建了一个透明的矩形,并将其放置在StackPane的后面,VBox、scene和stage的大小调整为矩形的大小。

 类似资料:
  • 这是我的主界面主界面 我在AnchorPane中有一个VBox (Fxid:datePane)。Vbox是蓝色的。 当单击标签为“Add”的按钮时,一个“second.fxml”文件被加载到VBox (Fxid:datePane)中。 加载的 fxml 文件采用 Vbox 的高度和宽度。 第二个.fxml有一个红色的VBox。 然而,如果我调整屏幕大小,加载的文件不会相应地改变其高度和宽度。调整屏

  • 我是javafx和fxml的新手,我无法在边框窗格中居中我的项目。 我的fxml如下: 问题似乎是vbox有整个屏幕,里面的项目在top_left。我知道我需要将vbox的宽度设置为最小值,而不是让它在边框中扩展,但是怎么做?? 非常感谢。

  • 问题内容: 我希望能够更改网页中文本的大小,我想可以使用jQuery,但是我没有使用javascript的经验。 另一个问题是该网页是phtml文件,并且使用了多个php echo命令。该页面由多个phtml文件组成。 编辑:我想给用户3种不同字体大小的选择。 问题答案: 我要采取的方法是将字体大小百分比应用于html的body标签 然后,对于所有其他元素,在ems中指定font-size,这将生

  • pom.xml 即使我有maximumPoolSize 10,我也能够并发地创建500个连接。为什么允许? 我的Hikari连接池设置是否错误?即我是否需要通过在pom.xml中排除它来禁用tomcat连接池(我相信Spring 2.0中不需要它)

  • 描述 (Description) vBox:此布局允许元素以垂直方式分布。 这是最常用的布局之一。 语法 (Syntax) 这是使用vBox布局的简单语法 layout: 'vbox' 例子 (Example) 以下是一个显示vBox布局用法的简单示例 <!DOCTYPE html> <html> <head> <link href = "https://cdnjs.clo

  • 如果我们在应用程序中使用VBox作为布局,则所有节点都设置在一个垂直列中。 包javafx.scene.layout名为VBox的类表示VBox窗格。 该类包含五个属性,它们是 - alignment - 此属性表示VBox边界内节点的对齐方式。 您可以使用setter方法setAlignment()为此属性设置值。 fillHeight - 此属性是布尔类型,并将此设置为true; VBox中可