Java 为什么尝试添加记录时会出现空指针异常?
它说我在第506行收到一个错误,就是说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) 只有当我点击“添加?”按钮或“添加”按钮时,才会发生这种情况。我使用了一种类似的方
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异常中最容易调试的。磨练你的调试技巧。在我们打字的时候忙着调试。我会让你们知道结果的。