访问java中的按钮数组时出错

时间:2015-09-24 18:18:39

标签: java swing nullpointerexception jbutton

我在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结束。

代码有什么问题?

2 个答案:

答案 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()