gpt4 book ai didi

java - 尝试为数组中的按钮指定颜色时数组中出现空点错误

转载 作者:行者123 更新时间:2023-12-01 19:41:04 26 4
gpt4 key购买 nike

我有一个充满几个按钮的数组,我试图遍历该数组并为每个按钮指定颜色,但是我不断收到空点异常错误。

   public static Button[] arrayButtons = new Button[33];                
@FXML public Button btn1 = new Button();
@FXML public Button btn2 = new Button();
@FXML public Button btn3 = new Button();

@FXML
public void initializeButtonArray() {
arrayButtons[1] = btn1;
arrayButtons[2] = btn2;
arrayButtons[3] = btn3;
arrayButtons[4] = btn4;
}

@FXML
private void test() {

initializeButtonArray();
for(Button btn : arrayButtons) {
btn.setStyle("-fx-background-color: #FF0000"); //error occurs here
}
}

当我尝试为每个循环内的所有按钮指定颜色时,会发生错误。

最佳答案

数组从 0 开始,因此您永远不会设置 arrayButtons[0]任何将其保留为 null又名等待调用时抛出 NullPointer。你也永远不会初始化btn4调用时会抛出一个空指针,最后为什么当你只初始化 3 个按钮时要创建一个 33 个按钮数组,其他人会抛出一个空指针,你想猜测它是一个 NPE

试试这个

public static Button[] arrayButtons = new Button[4];

public void initializeButtonArray() {
arrayButtons[0] = btn1;
arrayButtons[1] = btn2;
arrayButtons[2] = btn3;
arrayButtons[3] = btn4;
}

添加这个

@FXML public Button btn4;

在第一次迭代 arrayButtons 循环时,它会抛出一个空指针,因为它正在寻找 arrayButtons[0]但其设置为 null这会打破你的整个循环

此外,如果您引用 FXML,则不要输入 = new Button();

关于java - 尝试为数组中的按钮指定颜色时数组中出现空点错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385951/

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