javafx制作按钮网格
javafx make a grid of buttons
我想制作一个包含特定数量按钮的网格。
我知道需要多少个按钮,因为我得到了行数和列数。
我可以做一个循环,但我不知道如何将按钮放在彼此旁边和下方。
其次,按钮需要一个Text和一个Id,text没问题,但是怎么给他们一个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();
我想制作一个包含特定数量按钮的网格。 我知道需要多少个按钮,因为我得到了行数和列数。
我可以做一个循环,但我不知道如何将按钮放在彼此旁边和下方。
其次,按钮需要一个Text和一个Id,text没问题,但是怎么给他们一个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();