Java错误:TictaToe游戏,带有按钮的arrayList

Java错误:TictaToe游戏,带有按钮的arrayList,java,arraylist,Java,Arraylist,我有一个tictactoe程序,我想通过使用arrayList和for循环来最小化代码量。没有编译错误,但当我运行它时,它会这样说 java.lang.NullPointerException at Board.<init>(Board.java:40) at Board.main(Board.java:166) java.lang.NullPointerException 董事会。(Board.java:40) at Board.main(Board.java:166) 这就是

我有一个tictactoe程序,我想通过使用arrayList和for循环来最小化代码量。没有编译错误,但当我运行它时,它会这样说

java.lang.NullPointerException
at Board.<init>(Board.java:40)
at Board.main(Board.java:166)
java.lang.NullPointerException
董事会。(Board.java:40)
at Board.main(Board.java:166)
这就是BlueJ给我看的错误。不管怎样,这是我的代码。我怀疑这与实例变量和arrayList有关。该错误将我引向此行:

for(int i=0; i<=buttonsList.size(); i++){

对于(int i=0;i您永远不会为
buttonList
创建
ArrayList
实例,您只需创建一个空(
null
)变量引用

更改此变量赋值以创建
ArrayList
的实例

private ArrayList<JButton> buttonsList = new ArrayList<JButton>();
private ArrayList buttonsList=new ArrayList();
编辑

我相信你会在这里得到一个OutOfMemoryException:

//Created new JButtons and added them to the array list 
for(int i=0; i<=buttonsList.size(); i++){
    JButton jBut = new JButton(playerN);
    buttonsList.add(jBut);
}
//创建了新的jbutton并将其添加到数组列表中

对于(int i=0;i您从未为
buttonList
创建
ArrayList
实例,您只需创建一个空(
null
)变量引用

更改此变量赋值以创建
ArrayList
的实例

private ArrayList<JButton> buttonsList = new ArrayList<JButton>();
private ArrayList buttonsList=new ArrayList();
编辑

我相信你会在这里得到一个OutOfMemoryException:

//Created new JButtons and added them to the array list 
for(int i=0; i<=buttonsList.size(); i++){
    JButton jBut = new JButton(playerN);
    buttonsList.add(jBut);
}
//创建了新的jbutton并将其添加到数组列表中

for(int i=0;i
for(int i=0;i
for(int i=0;iHey,这似乎解决了第一个问题,但现在它这么说了。java.lang.OutOfMemoryError:java堆空间。我将更新原始帖子以显示错误哈,我只是在第二部分键入答案。谢谢你给我绿色勾号^^没问题,再次感谢。他告诉我我使用了.getSize(),它必须是我按钮的一个固定数字。嘿,这似乎解决了第一个问题,但现在它这么说。java.lang.OutOfMemoryError:java堆空间。我将更新原始帖子以显示错误哈,我只是在第二部分键入答案。谢谢你给我绿色勾号^^没问题,再次感谢。他告诉我至少,我使用了.getSize(),它必须是我按钮的一个固定数字。谢谢!!!!!!!我不能用支票来标记,因为第一个人解决了问题。对不起,但我会投票。谢谢!!!!!谢谢!!!!!!!!!我不能用支票来标记,因为第一个人解决了问题。对不起,但我会投票给e一切。谢谢!!!!!