Сценарий переключения ошибок в Scene Builder (JavaFx) - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь создать графический интерфейс для деятельности университета, используя Scene Builder. Мне нужно переключить окно при нажатии кнопки, чтобы я создал функцию, которая изменяет окно при нажатии кнопки, и включил это действие на кнопку с помощью SceneBuilder, и это сработало, но когда я попытался сделать то же самое для кнопки наВ новом окне я получил эту ошибку:

Executing C:\Users\Luke\Desktop\tp1\dist\run887860135\tp1.jar using platform C:\Program Files\Java\jdk1.8.0_221\jre/bin/java
out 04, 2019 7:05:11 PM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.221
out 04, 2019 7:05:11 PM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.221
Exception in Application start method
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
	at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$1(LauncherImpl.java:182)
	at java.lang.Thread.run(Thread.java:748)
Caused by: javafx.fxml.LoadException: Error resolving onAction='#BTADDCLIENTEAction', either the event handler is not in the Namespace or there is an error in the script.
file:/C:/Users/Luke/Desktop/tp1/dist/run887860135/tp1.jar!/tp1/Cliente.fxml:8

	at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2597)
	at javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:103)
	at javafx.fxml.FXMLLoader$Element.processEventHandlerAttributes(FXMLLoader.java:610)
	at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:770)
	at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2823)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2532)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
	at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
	at tp1.Tp1.start(Tp1.java:42)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
	at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:177)
	... 1 more
Exception running application tp1.Tp1
Java Result: 1

, чем я пытался удалить действие из этой кнопки, и код скомпилирован так, что ошибка, вероятно, на действии, но я не знаю, как решить, может кто-нибудь помочь мне?

Функция переключения окна:

  private void BTADDCLIENTEAction(ActionEvent event) throws IOException {
        Parent main_parent = FXMLLoader.load(getClass().getResource("addCliente.fxml"));
        Scene ClienteScene = new Scene(main_parent);
        Stage mainStage =  (Stage) ((Node) event.getSource()).getScene().getWindow();
        mainStage.setScene(ClienteScene);
        mainStage.show();
    }
...