我收到以下NullPointerException:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.foo.JawsFileChooser.a(SourceFile:28)
    at com.foo.JawsFileChooser$1.actionPerformed(SourceFile:91)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    [...snip...]


当用户单击我的应用程序中的按钮并执行某些步骤时。但是JawsFileChooser.java中的第28行是定义该类的行:

public class JawsFileChooser extends JPanel implements SwingConstants, DebugConstants {


。我可以看一下以确定为什么会发生这种情况?

在此先感谢您的帮助。

最佳答案

我可以看一下以确定为什么会发生这种情况?


您可以看一下SourceFile:28,它是com.foo.JawsFileChooser.a的一部分,并取消引用了null

编辑:
我已经看到存在匿名内部类的情况下在stacktrace中报告的第一类类。例如下面的代码

 1 import java.util.concurrent.*;
 2
 3 class An {
 4
 5  private String foo()
 6  {
 7      return "foo";
 8  }
 9
10  public static void main(String[] args) {
11      final An an = null;
12      (new Callable<String>() {
13          public String call() {
14              return an.foo();
15          }
16      }).call();
17  }
18 }


结果是

javac -g An.java && java -cp . An
Exception in thread "main" java.lang.NullPointerException
    at An.access$000(An.java:3)
    at An$1.call(An.java:14)
    at An.main(An.java:12)


将打印综合方法名称,但行号与您的情况类似。我会看com.foo.JawsFileChooser$1.actionPerformed(SourceFile:91)

07-27 17:02