我在java中创建了一个包含9个按钮的按钮数组,如下所示
JButton []button = new JButton[9];
当我尝试稍后访问其中任何一个时,如
body.add(button[0]); or
body.add(button[1]);
它返回以下错误
Exception in thread "main" java.lang.NullPointerException at
java.awt.Container.addImpl(Container.java:1095) at
java.awt.Container.add(Container.java:415) at
Tic_Tac_Main.main(Tic_Tac_Main.java:105)
BUILD SUCCESSFUL (total time: 4 seconds)
注意:正文是一个面板,我在其中添加按钮但它也以一条消息BUILD SUCCESSFUL结束。
代码有什么问题?
答案 0 :(得分:4)
当我尝试稍后访问其中任何一个时,如
您不会成功,因为您刚刚声明了数组并且从未在其中添加过项目。我的意思是你需要在使用前初始化它们。
例如:
button[0]= new JButton(); // creating and assigning a button at 0 position
body.add(button[0]); // now accessing it.
答案 1 :(得分:3)
JButton[] button = new JButton[9];
这里你只是声明按钮数组。
如果您执行此类button[0]
之类的操作,则需要在访问按钮之前初始化按钮。 otherwist它将为null。这意味着你需要做的事情
button[0] = new JButton()