gpt4 book ai didi

java - 向所有按钮添加相同的操作,但操作未应用于 Javafx 中的最后一个按钮

转载 作者:行者123 更新时间:2023-12-01 08:56:15 25 4
gpt4 key购买 nike

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

公共(public)类 FirstFxmlController 实现可初始化{

@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 位于边框 Pane 的中心部分,并且该边框 Pane 的大小已固定。所以发生的情况是 borderpane 的底部元素覆盖最后一个按钮。所以这会导致最后一个按钮不起作用。问题解决了。我只是增加了主屏幕的尺寸。感谢好友的即时重播和建议。

关于java - 向所有按钮添加相同的操作,但操作未应用于 Javafx 中的最后一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42018970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com