Я новичок в JavaFx, для моего приложения мне нужно установить неопределенный набор кнопок на часть экрана. Поскольку я не знаю, сколько кнопок мне понадобится, пока программа не запустится, я решил установить ScrollPane в эту часть экрана и добавить туда динамически кучу HBox , содержащий кнопки (я использую список‹> кнопок и список‹> HBox, поэтому я могу создать новый HBox для каждых 8 кнопок).
Идея состоит в том, чтобы использовать ScrollPane для прокрутки между различными HBox, содержащими кнопки, поэтому мне не нужно всегда показывать все кнопки. Проблема в том, что кажется, что вы не можете напрямую добавить кучу HBox в ScrollPane. Есть ли способ это сделать?? Мой код будет примерно таким:
public void startApp(int nDetect){
this.primaryStage = new Stage();
this.nDetect = nDetect;
BorderPane bp = new BorderPane();
Group root = new Group();
.
.
.
LinkedList<Button> buttons = new LinkedList<>();
LinkedList<HBox> boxes = new LinkedList<>();
for(int i=0; i<this.nDetect; i++) {
if(i%8 == 0){
boxes.add(new HBox());
boxes.get(i/8).setSpacing(5);
}
boxes.get(i/8).getChildren().add(buttons.get(i)) //add the button to the appropriate HBox
}
ScrollPane spane = new ScrollPane();
for( HBox h : boxes){
//add every element in "boxes" to the ScrollPane
}
bp.setTop(spane);
root.getChildren().add(bp);
}