2 回答

TA貢獻1844條經驗 獲得超8個贊
默認的單元格添加為孩子們GridPane來就是(0, 0)這是你在這一行做了什么:
grid.getChildren().add(buttonBox);
您需要將其更改為
grid.add(buttonBox, 0, 1);
將行索引設置為 1。(以這種方式分配行索引還有其他選擇,但在這種情況下這是最方便的選項。)
這不會導致第一列占據整個寬度GridPane。如果您還希望第一列采用所有可用寬度,則需要通過添加來指定ColumnConstraints:
ColumnConstraints constraints = new ColumnConstraints();
constraints.setHgrow(Priority.ALWAYS);
grid.getColumnConstraints().add(constraints);

TA貢獻2036條經驗 獲得超8個贊
就我所注意到的而言,您在列中添加了所有節點并在那里設置了位置,但是您沒有指定該列需要拉伸多少。除非指定,否則 GridPane 列不會自動拉伸。
您可以通過啟用 GridPane 屬性的 gridLinesVisible 為 true 來調試您的程序。
grid.setGridLinesVisible(true);
您需要指定 columnConstraints,以讓 GridPane 列拉伸到可用寬度。
ColumnConstraints constraint = new ColumnConstraints();
constraint.setHgrow(Priority.ALWAYS);
grid.getColumnConstraints().add(constraint);
添加回答
舉報