Java jList NullPointerException 错误

标签 java swing runtime-error jlist

错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at test.factory.MainWindow.setFuncList(MainWindow.java:160)
    at test.factory.MainWindow.<init>(MainWindow.java:22)
    at test.factory.MainWindow$2.run(MainWindow.java:151)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:682)
    at java.awt.EventQueue$3.run(EventQueue.java:680)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

代码:

TestFactory tf = new TestFactory();
ArrayList<Function> fList = tf.getFunctions();
DefaultListModel<Function> dFuncList = new DefaultListModel();
fListPane.setModel(dFuncList);
for(Function f : fList) {
    dFuncList.addElement(f);
}
<小时/>

问题:

现在,如果您发现错误那就太好了,但我的问题是。如何解析错误文本以找到错误的根源?我已经习惯了诸如 缺少 ';' 之类的事情位于 C:\filename 的第 24 行

更新: fList 有两个元素,因此不为 null。

最佳答案

错误转储是堆栈跟踪,因此我倾向于发现最好从顶部开始并向下进行。在本例中,MainWindow.java 第 160 行的 setFuncList 似乎正在尝试使用 null 对象(可能尚未初始化?)。

更新:有效的代码示例

class Function {

    int i;

    public Function(int myI) {
        this.i = myI;
    }

    @Override
    public String toString() {
        return "i=" + this.i;
    }
}

用于:

ArrayList<Function> fList = new ArrayList<>();
fList.add(new Function(1));
fList.add(new Function(2));

DefaultListModel<Function> dFuncList = new DefaultListModel();
jList2.setModel(dFuncList);
for(Function f : fList) {
    dFuncList.addElement(f);
}

关于Java jList NullPointerException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012790/

相关文章:

java - 碰撞时改变球的颜色

java - 如何等待达到某个值才能继续该方法?

popup - 通过弹出子表单 (2) 添加新子表单 (1) 记录后重新查询子表单 (1) - Access 2007

python - 从 pd.DataFrame 设置 dtypes 给出 TypeError : object of type 'type' has no len()

java - GPS 设备和编程

java - 如何从java代码检查mariaDB ODBC驱动程序版本

java - 将 int[] 转换为 bytes[] Java

java - Stop() 当前正在执行的定时器

c++ - cin 导致运行时错误

java - 解决 java.lang.AbstractMethodError,在 Spring 中创建名为 'entityManagerFactory' 的 bean 时出错