Exception occurred during event dispatching:java.lang.NullPointerException如何解决?

william092993 2015-07-10 03:03:01
异常状况如下:
Exception occurred during event dispatching:
java.lang.NullPointerException
at com.sinojava.PetHospital.serviceImpl.PetSevericeImpl.update(PetSevericeImpl.java:27)
at com.sinojava.PetHospital.view.Pet.UpdatePetInfoDialog.actionPerformed(UpdatePetInfoDialog.java:154)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1051)
at java.awt.Dialog$3.run(Dialog.java:1103)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1101)
at java.awt.Component.show(Component.java:1516)
at java.awt.Component.setVisible(Component.java:1468)
at java.awt.Window.setVisible(Window.java:841)
at java.awt.Dialog.setVisible(Dialog.java:991)
at com.sinojava.PetHospital.view.Pet.UpdatePetInfoDialog.showTo(UpdatePetInfoDialog.java:41)
at com.sinojava.PetHospital.view.Pet.UpdatePetInfoDialog.<init>(UpdatePetInfoDialog.java:36)
at com.sinojava.PetHospital.view.Pet.PetInfoFrame.actionPerformed(PetInfoFrame.java:191)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
源代码如下:
public class PetSevericeImpl implements PetSeverice {
@Override
public void update(PetInfo pet,String petname,String pettype, String petgender, String brithday, String configur,
String petowner, String date) {
// TODO Auto-generated method stub
pet.setPetname(petname);
pet.setPettype(pettype);
pet.setPetgender(petgender);
pet.setBrithday(brithday);
pet.setConfigur(configur);
pet.setPetowner(petowner);
pet.setDate(date);
}
}


package com.sinojava.PetHospital.view.Pet;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

import com.sinojava.PetHospital.dao.PetDaoImpl;
import com.sinojava.PetHospital.global.PetSevericeApp;
import com.sinojava.PetHospital.vo.PetInfo;

public class UpdatePetInfoDialog extends JDialog implements ActionListener{
PetInfoFrame diag;
PetInfo dia;
public UpdatePetInfoDialog(PetInfoFrame owner, boolean b,
PetInfoFrame diag, PetInfo dia) {
// TODO Auto-generated constructor stub
super(owner, b);
this.diag=diag;
this.dia=dia;
init();
addComponents();
showTo();
}

private void showTo() {
// TODO Auto-generated method stub
this.setVisible(true);

}
JButton jbSue,jbCale;
private JTextField jtO;
private JTextField jtCh;
private JTextField jtDay;
private JTextField jtN;
private JTextField jtC;
private JTextField jtD;
private JComboBox jcTbx;
private JRadioButton jrFemail;
private JRadioButton jrMail;
private JPanel jpSex;
private String petgender;
private void addComponents() {
// TODO Auto-generated method stub
JPanel jpTop = createPanelTop();
this.add(jpTop);
JPanel jpEnd=new JPanel();
jbSue=new JButton("确定");
jbSue.addActionListener(this);
jbCale=new JButton("取消");
jbCale.addActionListener(this);
jpEnd.add(jbSue);
jpEnd.add(jbCale);
this.add(jpEnd,BorderLayout.SOUTH);

}

private JPanel createPanelTop() {
JPanel jpTop=new JPanel();
JLabel jlCode=new JLabel("宠物编号");
JLabel jlName=new JLabel("宠物名称");
JLabel jlType=new JLabel("宠物类别");
JLabel jlGan=new JLabel("性别");
JLabel jlDay=new JLabel("出生日期");
JLabel jlCter=new JLabel("外部特征");
JLabel jlDate=new JLabel("登记日期");
JLabel jlOwner=new JLabel("宠物主人");
jtC=new JTextField(16);
jtN=new JTextField(16);
jtDay=new JTextField(16);
jtCh=new JTextField(16);
jtO=new JTextField(16);
jtD=new JTextField(16);
jcTbx=new JComboBox(new String[]{"狗","猫","猪","鸡"});
jpSex=new JPanel(new GridLayout(1,2));
//jpTop.add(jpSex);
jpSex.setBorder(BorderFactory.createEtchedBorder());
jrFemail=new JRadioButton("雌");
jrMail=new JRadioButton("雄");
jpSex.add(jrMail);
jpSex.add(jrFemail);
jpTop.add(jlCode);
jpTop.add(jtC);
jpTop.add(jlName);
jpTop.add(jtN);
jpTop.add(jlType);
jpTop.add(jcTbx);
jpTop.add(jlGan);
jpTop.add(jpSex);
jpTop.add(jlDay);
jpTop.add(jtDay);
jpTop.add(jlCter);
jpTop.add(jtCh);
jpTop.add(jlOwner);
jpTop.add(jtO);
jpTop.add(jlDate);
jpTop.add(jtD);
return jpTop;
}
private static final int JPWIDTH=280;
private static final int JPHEIGTH=400;
private void init() {
this.setTitle("新增宠物");
this.setSize(JPWIDTH, JPHEIGTH);
//this.setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.addWindowListener(new WindowAdapter(){

@Override
public void windowClosing(WindowEvent e) {
int answer=JOptionPane.showConfirmDialog(UpdatePetInfoDialog.this,"您确认退出?");
if(answer==0){
UpdatePetInfoDialog.this.dispose();
}
super.windowClosing(e);
}

});
}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jbSue){
UpdatePetInfoDialog.this.dispose();
String petname=jtN.getText().trim();
String pettype=(String) jcTbx.getSelectedItem();
if(jrFemail.isSelected()){
petgender="雌";
}else{
petgender="雄";
}
String brithday=jtDay.getText().trim();
String configur=jtCh.getText().trim();
String petowner=jtO.getText().trim();
String date=jtD.getText().trim();

int answer =JOptionPane.showConfirmDialog(UpdatePetInfoDialog.this, "你是否真的要修改信息?");
if(answer==0){
PetSevericeApp.PET.update(dia, petname, pettype, petgender, brithday, configur,petowner,date);
diag.refreshTable();
new PetDaoImpl().update(dia);
}
}else if(e.getSource()==jbCale){
jtC.setText("");
jtN.setText("");
jtDay.setText("");
jtCh.setText("");
jtO.setText("");
jtD.setText("");
}

}

}
在对已查询到的数据进行修改时,即执行if(e.getSource()==jbSue)出现异常
...全文
717 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
傻傻de点点 2015-07-10
  • 打赏
  • 举报
回复
1L说得好啊,耐着性子看了20来行,实在看不下去了
三仙半 2015-07-10
  • 打赏
  • 举报
回复
代码也不格式一下,能看出个鬼啊

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧