Java FXML Datei in Java Code einbinden: javafx.fxml.LoadException

Timboy893

Cadet 3rd Year
Registriert
Sep. 2015
Beiträge
61
Hallo,
ich arbeite momentan an einem kleinen Java Projekt für die Uni, dafür muss ich nun auch eine GUI in Form einer .fxml Datei einbinden. Ich habe damit leider gar keine Erfahrung und stecke nun fest, ich konnte die GUI über SceneBuilder erstellen und dann auch erfolgreich über den GuiLauncher starten. Dann habe ich angefangen die Buttons und ListViewer im Controller und der .fxml Datei zu verknüpfen. Ich habe das für die erste Seite meines GUIs gemacht, wollte es dann testen, und dann wird mir eine javafx.fxml.LoadException geworfen. Da ich daraus leider nicht so wirklich schlau werde, wollte ich die Fehlermeldung hier mal rein posten, in der Hoffnung das sich evtl. hier jemand findet der damit mehr anfangen kann als ich.

Vielen Dank schon mal für eure Rückmeldungen!

[/FONT] > Task :GuiLauncher.main() FAILED Sep. 16, 2021 6:13:42 NACHM. javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 16 by JavaFX runtime of version 12.0.1 Exception in Application start method Loading FXML document with JavaFX API of version 16 by JavaFX runtime of version 12.0.1 Exception in thread "main" java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: javafx.fxml.LoadException: Caused by: javafx.fxml.LoadException: /C:/Users/timgr/IdeaProjects/Mensabot1_3/build/resources/main/de/uniwue/jpp/mensabot/gui/GUI.fxml at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3237) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3194) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3163) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3136) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3113) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3106) at de.uniwue.jpp.mensabot.gui.MensabotGui.start(MensabotGui.java:16) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ... 1 more Caused by: java.lang.UnsupportedOperationException Caused by: java.lang.UnsupportedOperationException at de.uniwue.jpp.mensabot.sending.formatting.Formatter.createShortFormatter(Formatter.java:84) at de.uniwue.jpp.mensabot.gui.Controller.initialize(Controller.java:25) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2573) ... 17 more Execution failed for task ':GuiLauncher.main()'. > Process 'command 'C:/Program Files/Java/jdk-11.0.10/bin/java.exe'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. [FONT=arial]
 
Timboy893 schrieb:
WARNING: Loading FXML document with JavaFX API of version 16 by JavaFX runtime of version 12.0.1 Exception in Application start method Loading FXML document with JavaFX API of version 16 by JavaFX runtime of version 12.0.1
Ist der Versionskonflikt nicht das Problem? Zieh zunächst beides auf die gleiche Version.
 
Hi, wie gehe ich dabei vor? Ich habe in der fxml datei in der obersten Zeile die beiden xmlns Einträge auf 12.0.1 gesetzt. Das hat dann folgende Fehlermeldung produziert:
> Task :GuiLauncher.main() FAILED Exception in Application start method Exception in thread "main" java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: javafx.fxml.LoadException: Loading FXML document of version 12.0.1 by JavaFX runtime supporting version 1 Caused by: javafx.fxml.LoadException: Loading FXML document of version 12.0.1 by JavaFX runtime supporting version 1 /C:/Users/timgr/IdeaProjects/Mensabot1_3/build/resources/main/de/uniwue/jpp/mensabot/gui/GUI.fxml:22 at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2621) at javafx.fxml.FXMLLoader$ValueElement.processValue(FXMLLoader.java:832) at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:759) at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3237) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3194) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3163) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3136) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3113) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3106) at de.uniwue.jpp.mensabot.gui.MensabotGui.start(MensabotGui.java:16) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ... 1 more Execution failed for task ':GuiLauncher.main()'. > Process 'command 'C:/Program Files/Java/jdk-11.0.10/bin/java.exe'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Gibt es einen anderen Weg die Versionen aneinander anzupassen? Habe mal den Originalzustand der zeile mit reinkopiert.
<TabPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="505.0" prefWidth="994.0" tabClosingPolicy="UNAVAILABLE" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/16" fx:controller="de.uniwue.jpp.mensabot.gui.Controller" >
 
Habe das mal eben gemacht, jetzt ist zwar der Versionskonflikt nicht mehr vorhanden, nichts desto trotz wird mir eine sehr ähnliche Fehlermeldung, habe diese auch mal unten reinkopiert, wie vorher mit einer javafx.fxml.LoadException und einer java.lang.UnsupportedOperationException geworfen. Vielleicht liegt es wirklich am jdk. Denkst du es würde sinn machen das jdk durch eine neuere version zu ersetzen, bzw. neu zu installieren?

LG, Tim

Code:
> Task :GuiLauncher.main() FAILED
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: javafx.fxml.LoadException:
Caused by: javafx.fxml.LoadException:

/C:/Users/timgr/IdeaProjects/Mensabot1_3/build/resources/main/de/uniwue/jpp/mensabot/gui/GUI.fxml

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3237)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3194)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3163)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3136)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3113)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3106)
    at de.uniwue.jpp.mensabot.gui.MensabotGui.start(MensabotGui.java:16)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    ... 1 more
Caused by: java.lang.UnsupportedOperationException
    at de.uniwue.jpp.mensabot.sending.formatting.Formatter.createShortFormatter(Formatter.java:84)
Caused by: java.lang.UnsupportedOperationException

    at de.uniwue.jpp.mensabot.gui.Controller.initialize(Controller.java:25)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2573)
    ... 17 more

Execution failed for task ':GuiLauncher.main()'.
> Process 'command 'C:/Program Files/Java/jdk-11.0.10/bin/java.exe'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Ergänzung ()

Ich konnte das Problem mittlerweile lösen, es lag an einer noch nicht vollständig implementierten Methode, diese hat dann eine UnsupportedOperationException geworfen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: twK
Zurück
Oben