java - JavaFX eventhandler nullpointerException -


i have gui several different classes uses same eventhandler. problem can't seem find solution how avoid getting nullpointerexception when eventhandler looking right method call , stumbles upon button yet initialized. have couple of buttons initialized when user goes createaccountgui stage.

public class guihandler implements eventhandler<actionevent> {     // class take care off eventhandler (buttons, buttons method).     private usergui ug;     private advsearch as;     private login logi;     private createaccgui cag;     private organizergui og;     private admingui ag;     private personregister pr;      public guihandler() {         ug = new usergui(this);     }  

unless createaccgui has been initialized, whenever comes cag.getregistrate() nullpointerexception. have smart way of handling sort of problem without having split several different handlers.

@override     public void handle(actionevent e) {         try {             //where button goes 2 when clicked on , perform method supposed 2             // usergui class buttons             if(e.getsource() == ug.getloginb()) {                 logi = new login(this);             } else if (e.getsource() == ug.getadvsearch()) {                 = new advsearch(this);             } else if (e.getsource() == ug.getsearch()) {              }             // buttons in login class             else if(e.getsource() == logi.getsignin()) {                 signin();             } else if(e.getsource() == logi.getcreateacc()) {                 logi.loginstage.close();                 cag = new createaccgui(this);             }             //the buttons in createaccgui class             else if(e.getsource() == cag.getregistrate()) {                 system.out.println("it stop here on registrate");                 createaccount();             } else if(e.getsource() == cag.getcancelreg()) {                 cag.getcreatestage().close();                 logi = new login(this);             }             //the buttons in admingui setting text admin field 2 usergui             else if(e.getsource() == ag.getadmlogout()) {                 ag.stage.close();             } else if(e.getsource() == ag.gethomeareabutton()) {                 ug.gethomenews().settext(ag.gethomearea().gettext());             } else if(e.getsource() == ag.getaboutbutton()) {                 ug.getaboutarea().settext(ag.getaboutarea().gettext());             } else if(e.getsource() == ag.getrentbutton()) {                 ug.getrentarea().settext(ag.getrentarea().gettext());             }         } catch(numberformatexception nfe) {             joptionpane.showmessagedialog(null, "feil format på noen felter, gjerne endre på dem", "nummer format", joptionpane.error_message);         }     } // end of handler method }// end of guihandler class 

add null check code uses cag

     /* right here */ else if(  cag != null  && e.getsource() == cag.getregistrate()) {  system.out.println("it stop here on registrate");     createaccount(); } 

the && symbol short circuits if false , never reach cag.getregistrate() if cag null

btw joptionpane part of swing, , java 8 update 40 came out new javafx dialog api


Comments

Popular posts from this blog

shopping cart - Page redirect not working PHP -

php - How to modify a menu to show sub-menus -

python - Installing PyDev in eclipse is failed -