gpt4 book ai didi

java - 如何在javafx中创建跨越整个高度的文本区域和侧边栏?

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

我正在尝试在 JavaFX 中创建一个 UI,它应该有两列和一行。行应从上到下跨度(100% 高度),列应分别宽 80% 和 20%。在第一列中,我创建一个文本区域,而第二列有一个带有多个按钮的侧边栏。

我面临的问题是文本区域没有达到全高。我可以更改以像素为单位的高度,但我想更改百分比。我尝试添加 RowConstraint,但它不起作用。知道我应该如何进行吗?

public void start(Stage primaryStage)
{
primaryStage.setTitle("Particles");
primaryStage.setResizable(false);

GridPane grid = new GridPane();
grid.setVgap(10);
grid.setHgap(10);

RowConstraints row1 = new RowConstraints();
row1.setPercentHeight(100);

ColumnConstraints column1 = new ColumnConstraints();
column1.setPercentWidth(80);
ColumnConstraints column2 = new ColumnConstraints();
column2.setPercentWidth(20);

TextArea environment = new TextArea();
grid.add(environment, 0, 0);

Button start = new Button("START");
HBox hbBtn = new HBox(10);
hbBtn.setAlignment(Pos.CENTER);
hbBtn.getChildren().add(start);
grid.add(hbBtn, 1, 0);

Scene scene = new Scene(grid, 725, 500);
primaryStage.setScene(scene);

primaryStage.show();
}

我的输出:

enter image description here

最佳答案

您需要将 TextFieldVgrow Priority 添加为 Always

GridPane.setVgrow(environment, Priority.ALWAYS);

在您的代码中:

TextArea environment = new TextArea();
grid.add(environment, 0, 0);
GridPane.setVgrow(environment, Priority.ALWAYS);

输出:

enter image description here

关于java - 如何在javafx中创建跨越整个高度的文本区域和侧边栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29037668/

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