在Java中解决空点异常

在Java中解决空点异常,java,eclipse,swing,netbeans,import,Java,Eclipse,Swing,Netbeans,Import,我越来越 **Exception in thread "main" java.lang.NullPointerException at sources.Own_gui.<init>(Own_gui.java:32) at sources.Maingui.main(Maingui.java:6)** 我在netbeans中运行这个程序,它使用按钮进行输入。问题在于这段代码 buttonBoat[i][j]=new JButton(); 在使用buttonBoat数

我越来越

**Exception in thread "main" java.lang.NullPointerException
    at sources.Own_gui.<init>(Own_gui.java:32)
    at sources.Maingui.main(Maingui.java:6)**

我在netbeans中运行这个程序,它使用按钮进行输入。

问题在于这段代码

 buttonBoat[i][j]=new JButton();

在使用buttonBoat数组之前,您没有初始化它。

声明和初始化是两件不同的事情。你在哪里初始化
按钮boat
数组?谢谢我已经解决了我的问题:)我忘了初始化数组:如果问题解决了,你可以接受这个答案来表示你已经找到了解决方案。这也会给你和回答问题的人一点声誉,我们将不胜感激。
package sources;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class playergui extends JFrame implements ActionListener
{
    JFrame framePlayer;
    JPanel panelHit,panelPlace,panelButtons,panelTable;
    JButton buttonBoat[][],buttonAttack[][];
    public playergui()
    {
        this.setLayout(new GridLayout(2,2));
        this.setTitle("Second Player");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(500,500);
        this.setVisible(true);  
        panelButtons=new JPanel();
        panelHit=new JPanel();
        panelPlace=new JPanel();
        panelTable=new JPanel();
        panelHit.setLayout(new GridLayout(10,10));
        panelPlace.setLayout(new GridLayout(10,10));
        panelButtons.setLayout(new GridLayout(3,2));
        for(int i=0;i<10;i++)
    {
        for (int j=0;j<10;j++)
        {
            buttonBoat[i][j]=new JButton();
            panelPlace.add(buttonBoat[i][j]);
            buttonAttack[i][j]=new JButton();
            panelHit.add(buttonAttack[i][j]);
            buttonBoat[i][j].setActionCommand(i+","+j);
            buttonBoat[i][j].setBackground(Color.WHITE);
            buttonAttack[i][j].setBackground(Color.WHITE);
            buttonAttack[i][j].setActionCommand(i+","+j);
            buttonAttack[i][j].setEnabled(false);
            buttonBoat[i][j].addActionListener(this);
            buttonAttack[i][j].addActionListener(this);

        }
    }
        this.add(panelButtons);
        this.add(panelHit);
        this.add(panelPlace);
        this.add(panelTable);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
    }

}
package sources;
public class Maingui
{
public static void main(String []args)
{
    Own_gui owg=new Own_gui();
    playergui pgi= new playergui();
}
}
 buttonBoat[i][j]=new JButton();