我目前在显示错误方面遇到了一些麻烦。发生错误时,将从另一个类中的方法调用它。
leg
这就是线程
public void foomethod(Foo foo, Fuu fuu) {
if(foo.getMethod() == 0) {
if(engine.placeMethod(foo, fuu) == true) {
foo_view.removeCurrentError();
engine.rollFoo(foo, frame.getInitialDelay(), frame.getFinalDelay(), frame.getDelayIncrement());
}
else {
foo.placeMethod(0);
}
}
else {
foo_view.displayCurrentError("Foo has already placed a method");
}
}
显示的错误是
@Override
public void actionPerformed(ActionEvent e) {
new Thread() {
@Override
public void run() {
try {
int fuu = Integer.parseInt(frame.getGameView().getFooView().getMethod());
Foo bet_foo = frame.getGameView().getFooView().getFoo();
foomethod(bet_foo, fuu);
} catch (NumberFormatException excpetion) {
System.err.println("fuu is not an integer");
}
}
}.start();
}
问题是当我调用Exception in thread "Thread-3" java.lang.NullPointerException
at controller.FooListener.rollFooDice(FooListener.java:31) <-- this is foo_view.removeCurrentError();
at controller.FooListener$1.run(FooListener.java:57) <-- this is .start();
时出现错误并且错误显示显示相同的异常。
答案 0 :(得分:0)
foo.getMethod()
&lt; - 此方法
foo_view.removeCurrentError();
&lt; - 此行
.... ^此变量在执行此代码行时仍为null。