向所有按钮添加相同的操作但操作不适用于 Javafx 中的最后一个按钮

Adding same action to all buttons but action not applied to last button in Javafx

我有 FirstFxml.fxml 文件及其控制器作为 FirstFxmlController。我需要根据 sizeOfList(当前假设为 4)创建自定义 运行 时间按钮。我创建了以下代码并为其添加了操作。但它不能将此操作应用于最后一个按钮。意味着通过单击最后一个按钮(即单击我 4),setOnAction 不适用于它。我用 lambda 和处理程序试过这个,但它们也有同样的问题。以下代码是否存在任何 javafx 问题,建议我针对此问题进行更改。

public class FirstFxmlController实现Initializable{

@FXML
public VBox centerVBox;

@Override
public void initialize(URL location, ResourceBundle resources) {
    //Adding multiple buttons
    int sizeOfList = 5;
    StackPane stack[] = new StackPane[sizeOfList];
    Button b[] = new Button[sizeOfList];

    for(int i = 1; i<sizeOfList; i++){
            b[i] = new Button("Click me "+i);

        b[i].setOnAction(new EventHandler<ActionEvent>() {
            @Override public void handle(ActionEvent e) {
                System.out.println("Clicked");
            }
        });


        stack[i] = new StackPane();
        stack[i].setMargin(b[i], new Insets(20, 0, 0, 0));
        stack[i].getChildren().add(b[i]);
        centerVBox.getChildren().add(stack[i]);
    }

}

抱歉,这是我的错误,因为 vbox 位于边框窗格的中心部分,并且此边框窗格的大小是固定的。所以发生的是 borderpane 的底部元素覆盖了最后一个按钮。所以它导致最后一个按钮不起作用。问题解决了。我只是增加了主屏幕的大小。感谢小伙伴们的即时回放和建议。