线程中的异常"线程 - "显示java.lang.NullPointerException

时间:2018-05-24 17:02:00

标签: java multithreading nullpointerexception actionlistener

我目前在显示错误方面遇到了一些麻烦。发生错误时,将从另一个类中的方法调用它。

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(); 时出现错误并且错误显示显示相同的异常。

1 个答案:

答案 0 :(得分:0)

foo.getMethod()&lt; - 此方法

foo_view.removeCurrentError();&lt; - 此行
.... ^此变量在执行此代码行时仍为null。