gpt4 book ai didi

java - 从数组循环创建动态按钮时,代号一给出 java NullPointerException 错误

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

我正在尝试从数组循环中动态创建按钮。即使在阅读并遵循 this 上的说明后,我仍然收到 java NullPointerException 错误发布某人遇到类似问题并建议在其数组中分配元素的帖子。我这样做了,但仍然遇到同样的错误。有人可以告诉我哪里出了问题吗?这是我的代码:

@Override
protected void onMain_SavePersonAction(final Component c, ActionEvent event) {

// declares an array of integers
final String[] anArray;

// allocates memory for 8 values
anArray = new String[]{"100","200","400","500","600","700","800","900"};

Button[] button = new Button[anArray.length];
for (int i = 0; i < anArray.length; i++) {
button[i].setIcon(fetchResourceFile().getImage("personIcon.png"));
button[i].setText("Member: "+i);
button[i].addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

findName().setText("Firstname ");
findVorname().setText("Secondname ");
findFamMname().setText("Firstname Secondname" );
findFamMname().setIcon(fetchResourceFile().getImage("personIcon.png"));
findFamMname2().setText("Firstname Secondname ");
findFamMname2().setIcon(fetchResourceFile().getImage("personIcon.png"));
findDeleteMember().setVisible(true);

c.getComponentForm().revalidate();
c.getComponentForm().repaint();

}
});
findFamilyMembers().addComponent(button[i]);

}

c.getComponentForm().revalidate();
c.getComponentForm().repaint();

}

最佳答案

在创建任何项目并将其放入数组之前,您将使用 Button[] 数组中的项目。想象一下类似于空鸡蛋盒的一系列物体。除非先将鸡蛋装满,否则您无法使用鸡蛋盒制作煎蛋卷!

更改此:

for (int i = 0; i < anArray.length; i++) {
button[i].setIcon(fetchResourceFile().getImage("personIcon.png"));

对此:

for (int i = 0; i < anArray.length; i++) {
button[i] = new Button(); // you need to first create and assign a button object!
button[i].setIcon(fetchResourceFile().getImage("personIcon.png"));

更重要的是,您需要学习如何调试 NPE(NullPointerException)的一般概念。 您应该仔细检查引发异常的行,找出哪个变量为空,然后追溯到您的代码以查看原因。你会一次又一次地遇到这些,相信我。

关于java - 从数组循环创建动态按钮时,代号一给出 java NullPointerException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26091042/

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