fxml - Java Load Exception Namespace Method handler -
hello trying build bank ui scene builder , fxml. however, when try load second screen, #bro
function gives me error. when eliminate function, program opens second screen without error.
this full error get:
executing d:\atm4\dist\run1255295863\atm4.jar using platform c:\program files\java\jdk1.8.0_45\jre/bin/java iun 19, 2015 5:09:35 pm atm4.baza inlocuiestescena severe: null javafx.fxml.loadexception: error resolving onaction='#bro', either event handler not in namespace or there error in script. file:/d:/atm4/dist/run1255295863/atm4.jar!/atm4/doi.fxml:19 @ javafx.fxml.fxmlloader.constructloadexception(fxmlloader.java:2601) @ javafx.fxml.fxmlloader.access$100(fxmlloader.java:104) @ javafx.fxml.fxmlloader$element.processeventhandlerattributes(fxmlloader.java:606) @ javafx.fxml.fxmlloader$valueelement.processendelement(fxmlloader.java:766) @ javafx.fxml.fxmlloader.processendelement(fxmlloader.java:2827) @ javafx.fxml.fxmlloader.loadimpl(fxmlloader.java:2536) @ javafx.fxml.fxmlloader.loadimpl(fxmlloader.java:2445) @ javafx.fxml.fxmlloader.load(fxmlloader.java:2413) @ atm4.baza.inlocuiestescena(baza.java:57) @ atm4.baza.incarcdoi(baza.java:31) @ atm4.unucontroller.intra(unucontroller.java:39) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:497) @ sun.reflect.misc.trampoline.invoke(methodutil.java:71) @ sun.reflect.generatedmethodaccessor1.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:497) @ sun.reflect.misc.methodutil.invoke(methodutil.java:275) @ javafx.fxml.fxmlloader$methodhandler.invoke(fxmlloader.java:1765) @ javafx.fxml.fxmlloader$controllermethodeventhandler.handle(fxmlloader.java:1653) @ com.sun.javafx.event.compositeeventhandler.dispatchbubblingevent(compositeeventhandler.java:86) @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:238) @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:191) @ com.sun.javafx.event.compositeeventdispatcher.dispatchbubblingevent(compositeeventdispatcher.java:59) @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:58) @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114) @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56) @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114) @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56) @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114) @ com.sun.javafx.event.eventutil.fireeventimpl(eventutil.java:74) @ com.sun.javafx.event.eventutil.fireevent(eventutil.java:54) @ javafx.event.event.fireevent(event.java:198) @ javafx.scene.scene$clickgenerator.postprocess(scene.java:3471) @ javafx.scene.scene$clickgenerator.access$8100(scene.java:3399) @ javafx.scene.scene$mousehandler.process(scene.java:3767) @ javafx.scene.scene$mousehandler.access$1500(scene.java:3486) @ javafx.scene.scene.impl_processmouseevent(scene.java:1762) @ javafx.scene.scene$scenepeerlistener.mouseevent(scene.java:2495) @ com.sun.javafx.tk.quantum.glassvieweventhandler$mouseeventnotification.run(glassvieweventhandler.java:350) @ com.sun.javafx.tk.quantum.glassvieweventhandler$mouseeventnotification.run(glassvieweventhandler.java:275) @ java.security.accesscontroller.doprivileged(native method) @ com.sun.javafx.tk.quantum.glassvieweventhandler.lambda$handlemouseevent$350(glassvieweventhandler.java:385) @ com.sun.javafx.tk.quantum.glassvieweventhandler$$lambda$104/1416396302.get(unknown source) @ com.sun.javafx.tk.quantum.quantumtoolkit.runwithoutrenderlock(quantumtoolkit.java:404) @ com.sun.javafx.tk.quantum.glassvieweventhandler.handlemouseevent(glassvieweventhandler.java:384) @ com.sun.glass.ui.view.handlemouseevent(view.java:555) @ com.sun.glass.ui.view.notifymouse(view.java:927) @ com.sun.glass.ui.win.winapplication._runloop(native method) @ com.sun.glass.ui.win.winapplication.lambda$null$145(winapplication.java:101) @ com.sun.glass.ui.win.winapplication$$lambda$36/1963387170.run(unknown source) @ java.lang.thread.run(thread.java:745)
this main class
/* * change license header, choose license headers in project properties. * change template file, choose tools | templates * , open template in editor. */ package atm4; import java.io.ioexception; import java.util.logging.level; import java.util.logging.logger; import javafx.application.application; import javafx.fxml.fxmlloader; import javafx.fxml.initializable; import javafx.scene.scene; import javafx.scene.layout.anchorpane; import javafx.stage.stage; /** * * @author mnezo */ public class baza extends application { stage stage; public void incarcunu() { unucontroller atmctrl = (unucontroller) inlocuiestescena("unu.fxml"); atmctrl.setbaza(this); } public void incarcdoi() { unucontroller atmctrl = (unucontroller) inlocuiestescena("doi.fxml"); atmctrl.setbaza(this); } public void incarctrei() { unucontroller atmctrl = (unucontroller) inlocuiestescena("trei.fxml"); atmctrl.setbaza(this); } @override public void start(stage primarystage) throws exception { try { stage = primarystage; stage.settitle("atm"); unucontroller atmctrl = (unucontroller) inlocuiestescena("unu.fxml"); atmctrl.setbaza(this); primarystage.show(); } catch (exception ex) { ex.printstacktrace(); } } private initializable inlocuiestescena(string fxml) { fxmlloader loader = new fxmlloader(this.getclass().getresource(fxml)); anchorpane container; try { container = (anchorpane) loader.load(); scene scene = new scene(container); stage.setscene(scene); stage.sizetoscene(); } catch (ioexception ex) { logger.getlogger(baza.class.getname()).log(level.severe, null, ex); } return (initializable) loader.getcontroller(); } /** * @param args command line arguments */ public static void main(string[] args) { launch(args); } }
in second screen fxml error handler method not found, here code, , bro underlined red:
<button fx:id="romana" layoutx="468.0" layouty="128.0" mnemonicparsing="false" onaction="#bro" prefheight="36.0" prefwidth="49.0" />
screen 1 controller:
package atm4; import java.net.url; import java.util.resourcebundle; import javafx.event.actionevent; import javafx.fxml.fxml; import javafx.scene.image.imageview; import javafx.scene.shape.rectangle; import javafx.fxml.initializable; import javafx.scene.input.mouseevent; public class unucontroller implements initializable { private baza baza; @fxml private imageview im1; public void setbaza(baza baza) { this.baza = baza; } @fxml private rectangle welcome; void fff96f(actionevent event) { } @override public void initialize(url url, resourcebundle rb) { // todo } @fxml private void intra(mouseevent event) { baza.incarcdoi(); } }
screen 2 controller:
package atm4; import java.net.url; import java.util.resourcebundle; import javafx.event.actionevent; import javafx.fxml.fxml; import javafx.scene.control.button; import javafx.scene.shape.rectangle; import javafx.fxml.initializable; import javafx.fxml.loadexception; public class doicontroller implements initializable { private baza baza; public void setbaza(baza baza) { this.baza = baza; } @fxml private resourcebundle resources; @fxml private url location; @fxml public button romana; @fxml private button engl; @fxml private button magh; @fxml private button fran; @fxml private rectangle welcome; @fxml void fff96f(actionevent event) { } @override public void initialize(url url, resourcebundle rb) { // todo } @fxml private void bro(actionevent event) { // baza.incarctrei(); } }
probably java class selected in "fx:controller" not correct. check if choose correct java class, in case doicontroller. action #bro in fxml file, not in doicontroller.
Comments
Post a Comment