gpt4 book ai didi

java - getChildren() add() 和 add()

转载 作者:行者123 更新时间:2023-12-02 09:57:36 28 4
gpt4 key购买 nike

为什么有时我们使用 getChildren() add() 而其他时候我们直接使用 add() es: https://docs.oracle.com/javafx/2/get_started/form.htm

Example 4–4 Button
Button btn = new Button("Sign in");
HBox hbBtn = new HBox(10);
hbBtn.setAlignment(Pos.BOTTOM_RIGHT);
hbBtn.getChildren().add(btn);
grid.add(hbBtn, 1,`enter code here`
grid.add(userTextField, 1, 1);
Label pw = new Label("Password:");
grid.add(pw, 0, 2);
PasswordField pwBox = new PasswordField();
grid.add(pwBox, 1, 2);)

示例 4-3 控件

Text scenetitle = new Text("Welcome");
scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
grid.add(scenetitle, 0, 0, 2, 1);
Label userName = new Label("User Name:");
grid.add(userName, 0, 1);
TextField userTextField = new TextField();

最佳答案

据我所知,只有 GridPane 直接提供了 add 方法。此方法的存在是为了缩短添加子项所需的代码并分配行/列索引(以及列/行跨度)。您需要为 GridPane 的几乎所有子级分配行/列索引,这就是这些方法有用的原因。

gridPane.add(child1, column1, row1);

gridPane.add(child2, column2, row2, columnSpan, rowSpan);

短得多
GridPane.setColumnIndex(child1, column1);
GridPane.setRowIndex(child1, row1);
gridPane.getChildren().add(child1);

GridPane.setColumnIndex(child2, column2);
GridPane.setRowIndex(child2, row2);
GridPane.setColumnSpan(child2, columnSpan);
GridPane.setRowSpan(child2, rowSpan);
gridPane.getChildren().add(child2);

其他布局(例如VBox)不提供这样的方法,因为子级是根据子级列表中的顺序定位的,并分配可选的布局参数(例如margin)执行频率较低。

关于java - getChildren() add() 和 add(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882531/

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