nullpointer exception java code -
i trying make email client in netbeans send emails, getting null pointer exception in code. code (there 3 classes):
emailclient.java
package sendemail; public class emailclient extends javax.swing.jframe { sendmail sm=new sendmail(); settings set=new settings(); public emailclient() { initcomponents(); } @suppresswarnings("unchecked") +generated code private void jbutton1actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: sm.setvisible(true); } private void jbutton2actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: } private void jbutton3actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: } private void jmenuitem2actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: set.setvisible(true); } public static void main(string args[]) { /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { @override public void run() { new emailclient().setvisible(true); } }); } // variables declaration - not modify private javax.swing.jbutton jbutton1; private javax.swing.jbutton jbutton2; private javax.swing.jbutton jbutton3; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jlabel jlabel3; private javax.swing.jlabel jlabel4; private javax.swing.jlabel jlabel5; private javax.swing.jlabel jlabel6; private javax.swing.jmenu jmenu4; private javax.swing.jmenu jmenu5; private javax.swing.jmenubar jmenubar2; private javax.swing.jmenuitem jmenuitem2; private javax.swing.jpanel jpanel1; private javax.swing.jpanel jpanel3; private javax.swing.jpanel jpanel4; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jtextarea jtextarea1; // end of variables declaration } settings.java
package sendemail; import javax.swing.*; import java.awt.*; public class settings extends javax.swing.jframe { public string uname; public string pass; public string smtpserver; public string port; /** * creates new form settings */ public settings() { initcomponents(); } public string getuname() { return uname; } public string getpass() { return pass; } public string getsmtpserver() { return smtpserver; } public string getport() { return port; } @suppresswarnings("unchecked") +generated code private void jbutton1actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: uname=jtextfield1.gettext().tostring(); pass=jpasswordfield1.getpassword().tostring(); smtpserver=jcombobox1.getselecteditem().tostring(); port=jcombobox2.getselecteditem().tostring(); if(uname.equals("") || pass.equals("") || smtpserver.equals("") || port.equals("") ) { joptionpane.showmessagedialog(this,"all fields mandatory"); } else { setvisible(false); } } private void jcombobox1actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: } public static void main(string args[]) { /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { public void run() { new settings().setvisible(false); } }); } // variables declaration - not modify private javax.swing.jbutton jbutton1; private javax.swing.jcombobox jcombobox1; private javax.swing.jcombobox jcombobox2; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jlabel jlabel3; private javax.swing.jlabel jlabel4; private javax.swing.jpanel jpanel1; private javax.swing.jpasswordfield jpasswordfield1; private javax.swing.jtextfield jtextfield1; // end of variables declaration jtextfield1=new jtextfield(); } sendmail.java
package sendemail; import java.util.properties; import javax.mail.message; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetaddress; import javax.mail.internet.mimemessage; import javax.swing.joptionpane; import java.awt.*; import javax.mail.*; import javax.mail.messagingexception; public class sendmail extends javax.swing.jframe { settings setfrm=new settings(); string subject; string from; public sendmail() { initcomponents(); } @suppresswarnings("unchecked") +generated code private void jbutton1actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: try { final string user=setfrm.getuname(); final string password=setfrm.getpass(); string portnum=setfrm.getport(); string smtpname=setfrm.getsmtpserver(); string to=jtextfield1.gettext(); subject=jtextfield2.gettext(); properties properties=new properties(); properties.put("mail.smtp.host",smtpname.tostring()); properties.put("mail.smtp.socketfactory.port",portnum.tostring()); properties.put("mail.smtp.socketfactory.class","javax.net.ssl.sslsocketfactory"); properties.put("mail.smtp.port",portnum.tostring()); properties.put("mail.smtp.auth","true"); session session=session.getdefaultinstance(properties, new javax.mail.authenticator() { protected passwordauthentication getpasswordauthentication(){ return new passwordauthentication(user,password); } } ); mimemessage message=new mimemessage(session); message.setfrom(new internetaddress(user)); message.setrecipients(message.recipienttype.to, internetaddress.parse(jtextfield1.gettext().tostring())); message.setsubject(subject); message.settext(jtextarea1.gettext()); transport.send(message); joptionpane.showmessagedialog(null,"message sent"); } catch(messagingexception mex) { joptionpane.showmessagedialog(null,mex); } } private void jbutton2actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: } private void jtextfield1actionperformed(java.awt.event.actionevent evt) { // todo add handling code here: } public static void main(string args[]) { /* create , display form */ java.awt.eventqueue.invokelater(new runnable() { public void run() { new sendmail().setvisible(true); } }); } // variables declaration - not modify private javax.swing.jbutton jbutton1; private javax.swing.jbutton jbutton2; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jpanel jpanel1; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jtextarea jtextarea1; private javax.swing.jtextfield jtextfield1; private javax.swing.jtextfield jtextfield2; // end of variables declaration jtextfield1=new jtextfield(); jtextfield2=new jtextfield(); } i trying send email sendmail.java while sender's email , password entered settings.java , emailclient.java setting jframes visibility true or false on button click..
error:
exception in thread "awt-eventqueue-0" java.lang.nullpointerexception @ sendemail.sendmail.jbutton1actionperformed(sendmail.java:157) @ sendemail.sendmail.access$100(sendmail.java:24) @ sendemail.sendmail$2.actionperformed(sendmail.java:76) @ javax.swing.abstractbutton.fireactionperformed(abstractbutton.java:2018) @ javax.swing.abstractbutton$handler.actionperformed(abstractbutton.java:2341) @ javax.swing.defaultbuttonmodel.fireactionperformed(defaultbuttonmodel.java:402) @ javax.swing.defaultbuttonmodel.setpressed(defaultbuttonmodel.java:259) @ javax.swing.plaf.basic.basicbuttonlistener.mousereleased(basicbuttonlistener.java:252) @ java.awt.component.processmouseevent(component.java:6505) @ javax.swing.jcomponent.processmouseevent(jcomponent.java:3311) @ java.awt.component.processevent(component.java:6270) @ java.awt.container.processevent(container.java:2229) @ java.awt.component.dispatcheventimpl(component.java:4861) @ java.awt.container.dispatcheventimpl(container.java:2287) @ java.awt.component.dispatchevent(component.java:4687) @ java.awt.lightweightdispatcher.retargetmouseevent(container.java:4832) @ java.awt.lightweightdispatcher.processmouseevent(container.java:4492) @ java.awt.lightweightdispatcher.dispatchevent(container.java:4422) @ java.awt.container.dispatcheventimpl(container.java:2273) @ java.awt.window.dispatcheventimpl(window.java:2719) @ java.awt.component.dispatchevent(component.java:4687) @ java.awt.eventqueue.dispatcheventimpl(eventqueue.java:735) @ java.awt.eventqueue.access$200(eventqueue.java:103) @ java.awt.eventqueue$3.run(eventqueue.java:694) @ java.awt.eventqueue$3.run(eventqueue.java:692) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:76) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:87) @ java.awt.eventqueue$4.run(eventqueue.java:708) @ java.awt.eventqueue$4.run(eventqueue.java:706) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:76) @ java.awt.eventqueue.dispatchevent(eventqueue.java:705) @ java.awt.eventdispatchthread.pumponeeventforfilters(eventdispatchthread.java:242) @ java.awt.eventdispatchthread.pumpeventsforfilter(eventdispatchthread.java:161) @ java.awt.eventdispatchthread.pumpeventsforhierarchy(eventdispatchthread.java:150) @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:146) @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:138) @ java.awt.eventdispatchthread.run(eventdispatchthread.java:91)
jtextfield1 null, need initialize like
jtextfield jtextfield1 = new jtextfield();
i'also see member fields not initialized properly. need ensure instance member fields initialized before method call invoked on them
Comments
Post a Comment