空指针异常JLabel

时间:2009-03-16 14:43:09

标签: java nullpointerexception jlabel

当我尝试在标签上运行时,为什么会出现NullPointerException:

JLabel player1CurrentScore = new JLabel("" + matchPlay.returnPL1GamesWon(),
                                        JLabel.CENTER);

是不是因为我不能像这样连接两个字符串?

理想情况下,我尝试将标签设置为播放器的分数,以便在需要时可以正确递增。

这是我的Exception stackdump:

java.lang.NullPointerException
at GUI.makeFrame(GUI.java:71)
at GUI.<init>(GUI.java:28)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at bluej.runtime.ExecServer$3.run(ExecServer.java:808)

3 个答案:

答案 0 :(得分:3)

除非matchPlay为null或matchPlay.returnPL1GamesWon()本身抛出空指针异常,否则没有任何内容会导致空指针异常。

更新:基于异常来自GUI.makeFrame的事实,我不得不问你是否真的有图形显示?这是一个命令行应用程序,一个Swing应用程序,还是一个Applet?看起来你正在尝试创建一个没有图形上下文的JLabel。

答案 1 :(得分:3)

根据问题中的信息:引用matchPlay为空。

更新:鉴于matchPlay不能为null的信息,则在matchPlay上调用的方法必须抛出异常。检查前一个方法调用的堆栈跟踪,有助于查明问题。

答案 2 :(得分:0)

我设法回答了,

这是我在构造函数中分配字段的顺序

抱歉打扰

谢谢大家