主线程中的NullPointerException

时间:2014-12-27 18:05:02

标签: java nullpointerexception

我想知道, NullPointerException 主要是什么。

我对这个错误代码的理解是有一个使用null值的变量。但这究竟意味着什么呢。请寻求你的启示。

Exception in thread "main" java.lang.NullPointerException

at java.awt.Container.addImpl(Unknown Source)

at java.awt.Container.add(Unknown Source)

at TicTacToe.<init>(TicTacToe.java:29)

at TicTacToe.main(TicTacToe.java:49)

public class TicTacToe {

JPanel t3pan;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JButton button5;
JButton button6;
JButton button7;
JButton button8;
JButton button9;

TicTacToe()
{
    t3pan = new JPanel();

    GridLayout gl = new GridLayout(3,3);
    t3pan.setLayout(gl);

      t3pan.add(button1);
      t3pan.add(button2);
      t3pan.add(button3);
      t3pan.add(button4);
      t3pan.add(button5);
      t3pan.add(button6);
      t3pan.add(button7);
      t3pan.add(button8);
      t3pan.add(button9);


    JFrame t3frame = new JFrame();

    t3frame.setContentPane(t3pan);
    t3frame.pack();
    t3frame.setVisible(true);
}

public static void main(String[] args)
{
    new TicTacToe();
}

}

2 个答案:

答案 0 :(得分:3)

button1button9null(他们没有价值)。你声明了它们,但你从未实例化过它们。你需要像

这样的东西
JButton button1 = new JButton("Button 1"); //<-- for all 9.

类字段的默认值

JButton button1;

null,因此相当于

JButton button1 = null;

答案 1 :(得分:3)

button个变量为空,因为行t3pan.add(button1)等等因NullPointerException s而失败。

在将按钮变量添加到t3pan之前,您需要初始化按钮变量。