Kompatibilitätsprobleme mit Javafx 8 - statische FXML-Felder

Ich habe eine Javafx-Anwendung entwickelt, die in JDK 7 einwandfrei funktioniert. Wenn ich versuche, sie in Java 8 auszuführen, treten die folgenden Ausnahmen auf:

javafx.fxml.LoadException: 
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2595)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3230)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3191)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3164)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3140)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3132)


Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Root cannot be null
    at javafx.scene.Scene.<init>(Scene.java:364)
    at javafx.scene.Scene.<init>(Scene.java:232)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:204)
    at javafx.concurrent.EventHelper.fireEvent(EventHelper.java:219)
    at javafx.concurrent.Task.fireEvent(Task.java:1357)
    at javafx.concurrent.Task.setState(Task.java:720)
    at javafx.concurrent.Task$TaskCallable$2.run(Task.java:1438)
    at com.sun.javafx.application.PlatformImplEs hört sich so an, als ob Sie versuchen, eine zu injizieren1.run(PlatformImpl.java:301)
    at com.sun.javafx.application.PlatformImplEs hört sich so an, als ob Sie versuchen, eine zu injizieren1.run(PlatformImpl.java:298)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)
    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.access$300(WinApplication.java:39)
    at com.sun.glass.ui.win.WinApplicationstackoverflow.com/questions/8434787/…1.run(WinApplication.java:112)
    at java.lang.Thread.run(Thread.java:744)

Ich habe herausgefunden, dass der Grund dafür in der Initialisierungsmethode der Controller-Klasse liegt. Ich kann die eingebauten Methoden in keiner statischen Komponente verwenden. (Beispiel: staticMyTextField.setText () verursacht das Problem in Java 8, aber nicht in Java 7). Ich bin nicht in der Lage, irgendetwas zu finden, was in den Javafx-Anleitungen dokumentiert ist. Kann jemand bitte einige Vorschläge machen, warum dies ein Problem in Java 8 verursacht? Und teilen Sie auch Dokumente im Zusammenhang mit dieser, falls vorhanden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage