javafx制作一个按钮网格

我想制作一个具有特定数量按钮的网格。 我知道需要多少个按钮,因为我得到了行数和列数。

我可以做一个循环,但我不知道如何将按钮放在彼此旁边和下面。
其次,按钮需要Text和Id,文本没问题,但是你怎么给他们一个id?
最后,也许最困难的是,可能会出现很多行,因此滚动条应该可用。

最后看起来应该是这样的:

在此处输入图像描述

 @Override public void start(Stage stage) { GridPane grid = new GridPane(); grid.setPadding(new Insets(BUTTON_PADDING)); grid.setHgap(BUTTON_PADDING); grid.setVgap(BUTTON_PADDING); for (int r = 0; r < NUM_BUTTON_LINES; r++) { for (int c = 0; c < BUTTONS_PER_LINE; c++) { int number = NUM_BUTTON_LINES * r + c; Button button = new Button(String.valueOf(number)); grid.add(button, c, r); } } ScrollPane scrollPane = new ScrollPane(grid); stage.setScene(new Scene(scrollPane)); stage.show(); } 

最好的解决方案是:

 itemNumber starts from 0 to N: Grid.getChildren().get(itemNumber).setId("bt"+itemNumber); Grid.getChildren().get(itemNumber).getId();