Java 为什么尝试添加记录时会出现空指针异常?

Java 为什么尝试添加记录时会出现空指针异常?,java,swing,nullpointerexception,jbutton,jlist,Java,Swing,Nullpointerexception,Jbutton,Jlist,它说我在第506行收到一个错误,就是说 firstTxt.setText(newPerson.getFirstname()); 下面是前两行错误代码:线程中的异常 AWT-EventQueue-0" java.lang.NullPointerException at dataawaredatajava.JFrame.addButtonActionPerformed(JFrame.java:506) 只有当我点击“添加?”按钮或“添加”按钮时,才会发生这种情况。我使用了一种类似的方

它说我在第506行收到一个错误,就是说

firstTxt.setText(newPerson.getFirstname());
下面是前两行错误代码:线程中的异常

AWT-EventQueue-0" java.lang.NullPointerException at 
    dataawaredatajava.JFrame.addButtonActionPerformed(JFrame.java:506) 
只有当我点击“添加?”按钮或“添加”按钮时,才会发生这种情况。我使用了一种类似的方法,用我的更新按钮强制转换我的对象,但这似乎工作得非常好

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          
    switch (addButton.getText()) {
        case "Add New Person":
            lstPerson.clearSelection();
            blockForAddOrUpdate(true);
            addButton.setEnabled(true);
            addButton.setText("Add?");
            break;
        case "Add?":
            Person newPerson = (Person)lstPerson.getSelectedValue();
            firstTxt.setText(newPerson.getFirstname());
            lastTxt.setText(newPerson.getLastname());
            dobTxt.setText(newPerson.getDob());
            occupationTxt.setText(newPerson.getOccupation());
            marriedChB.setSelected(newPerson.getMarried());
            noOfKidsJSp.setValue(newPerson.getNumberofkids());
            dataAwareDataJavaPUEntityManager.getTransaction().begin();
            dataAwareDataJavaPUEntityManager.persist(newPerson);
            dataAwareDataJavaPUEntityManager.getTransaction().commit();
            addButton.setText("Add New Person");
            blockForAddOrUpdate(false);
            personList.add(newPerson);
            lstPerson.setSelectedValue(newPerson, true);
            break;

lstPerson中没有选择,或者firstTxt从未实例化。

调用该行时,
firstTxt
newPerson
似乎为
null
。找出哪一个可以识别您的问题。您可以使用一个简单的
System.out.print

来实现这一点,
firstTxt
newPerson
显示为
null
。找出哪一个可以识别您的问题。NPE意味着您尝试使用它们的线路上的firstTxt或newPerson。找出并修复它。更重要的是,您需要学习如何调试NPE(NullPointerException)的一般概念。您应该仔细检查抛出它的行,找出哪个变量为null,然后回溯到代码中以了解原因。相信我,你会一次又一次地碰到这些。您还需要学习搜索技能,因为这个问题在这里和您将发现的任何其他Java咨询网站上都非常常见。NullPointerException几乎是所有Java异常中最容易调试的。磨练你的调试技巧。在我们打字的时候忙着调试。我会让你们知道结果的。