为什么我尝试添加记录时会出现Null Pointer Exception?

时间:2014-07-29 16:19:27

标签: java swing nullpointerexception jbutton jlist

它说我在第506行收到了错误

firstTxt.setText(newPerson.getFirstname());

以下是前两行错误代码:线程中的异常

AWT-EventQueue-0" java.lang.NullPointerException at 
    dataawaredatajava.JFrame.addButtonActionPerformed(JFrame.java:506) 

只有在我点击“添加?”时才会发生这种情况。按钮或addButton。我使用类似的方法用我的更新按钮投射我的对象,但这似乎完全正常!

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;

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

当您拨打该线路时,firstTxtnewPerson似乎是null。找出哪一个可以确定您的问题。您可以使用简单的System.out.print来完成此操作。