java - How to add a button into a specific JPanel -
i have bigpanel. inside bigpanel has multiple panels(panel_1, panel_2, panel_3, etc....)
bigpanel use gridbaglayout. panel_1 , etc use gridlayout.
in other panel, have created add button. if user click this, jdialog appear , user must fill form:
- button name:
- number :
- alphabet :
after user finished fill in jdialog form, new button created based on jdialog form.
this code executed after user click finished button in jdialog form:
if(number=="1"){ if(alphabet=="a") { jbutton newbutton = new jbutton(buttonname); //bigpanel.add(newbutton); //bigpanel.updateui(); panel_1.add(newbutton); panel_1.updateui(); joptionpane.showmessagedialog(null,"successfully added !"); } } else if(alphabet=="b"){ jbutton newbutton = new jbutton(buttonname); //bigpanel.add(newbutton); //bigpanel.updateui(); panel_2.add(newbutton); panel_2.updateui(); joptionpane.showmessagedialog(null,"successfully added !"); } ... } if (number=="2"){ ... } ...
i test jdialog number 1 , alphabet a. result got warning in console indicates line have problems:
panel_1.add(newbutton);//line 313
warning in console:
exception in thread "awt-eventqueue-0" java.lang.nullpointerexception @ ui2$3.actionperformed(ui2.java:313) @ javax.swing.abstractbutton.fireactionperformed(unknown source) @ javax.swing.abstractbutton$handler.actionperformed(unknown source) @ javax.swing.defaultbuttonmodel.fireactionperformed(unknown source) @ javax.swing.defaultbuttonmodel.setpressed(unknown source) @ javax.swing.plaf.basic.basicbuttonlistener.mousereleased(unknown source) @ java.awt.component.processmouseevent(unknown source) @ javax.swing.jcomponent.processmouseevent(unknown source) @ java.awt.component.processevent(unknown source) @ java.awt.container.processevent(unknown source) @ java.awt.component.dispatcheventimpl(unknown source) @ java.awt.container.dispatcheventimpl(unknown source) @ java.awt.component.dispatchevent(unknown source) @ java.awt.lightweightdispatcher.retargetmouseevent(unknown source) @ java.awt.lightweightdispatcher.processmouseevent(unknown source) @ java.awt.lightweightdispatcher.dispatchevent(unknown source) @ java.awt.container.dispatcheventimpl(unknown source) @ java.awt.window.dispatcheventimpl(unknown source) @ java.awt.component.dispatchevent(unknown source) @ java.awt.eventqueue.dispatcheventimpl(unknown source) @ java.awt.eventqueue.access$200(unknown source) @ java.awt.eventqueue$3.run(unknown source) @ java.awt.eventqueue$3.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.awt.eventqueue$4.run(unknown source) @ java.awt.eventqueue$4.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.awt.eventqueue.dispatchevent(unknown source) @ java.awt.eventdispatchthread.pumponeeventforfilters(unknown source) @ java.awt.eventdispatchthread.pumpeventsforfilter(unknown source) @ java.awt.eventdispatchthread.pumpeventsforhierarchy(unknown source) @ java.awt.eventdispatchthread.pumpevents(unknown source) @ java.awt.eventdispatchthread.pumpevents(unknown source) @ java.awt.eventdispatchthread.run(unknown source)
the button not added. if changed
bigpanel.add(newbutton); bigpanel.updateui();
the newbutton added bigpanel. unfortunately, want newbutton added panel_1 not bigpanel..
please check if panel_1 added
Comments
Post a Comment