2016-11-01 2 views
2

Ich erstelle eine App in JavaFX. Ich habe diesen Fehler beim Öffnen des Scenebuilders erhalten: "Loggin.fxml konnte nicht geöffnet werden. Die Open-Operation ist fehlgeschlagen. Stellen Sie sicher, dass die ausgewählte Datei ein gültiges fxml-Dokument ist."scenebulider kann keine fxml-Datei öffnen

Ein Klick auf "Details anzeigen", es mir diesen Fehler angezeigt:

java.io.IOException: javafx.fxml.LoadException: 
/F:/Anusha/stophubsourcetree3/src/application/GetStarted.fxml 

    at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:92) 
    at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:80) 
    at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:95) 
    at com.oracle.javafx.scenebuilder.kit.editor.EditorController.updateFxomDocument(EditorController.java:2370) 
    at com.oracle.javafx.scenebuilder.kit.editor.EditorController.setFxmlTextAndLocation(EditorController.java:655) 
    at com.oracle.javafx.scenebuilder.app.DocumentWindowController.loadFromFile(DocumentWindowController.java:386) 
    at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performOpenFiles(SceneBuilderApp.java:579) 
    at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.handleOpenFilesAction(SceneBuilderApp.java:447) 
    at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.handleLaunch(SceneBuilderApp.java:427) 
    at com.oracle.javafx.scenebuilder.app.AppPlatform.requestStartGeneric(AppPlatform.java:139) 
    at com.oracle.javafx.scenebuilder.app.AppPlatform.requestStart(AppPlatform.java:106) 
    at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.start(SceneBuilderApp.java:371) 
    at com.sun.javafx.application.LauncherImpl$8.run(LauncherImpl.java:837) 
    at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:335) 
    at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301) 
    at com.sun.javafx.application.PlatformImpl$6$1.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.WinApplication$4$1.run(WinApplication.java:112) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: javafx.fxml.LoadException: 
/F:/Anusha/stophubsourcetree3/src/application/GetStarted.fxml 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2864) 
    at javafx.fxml.FXMLLoader.processImport(FXMLLoader.java:2708) 
    at javafx.fxml.FXMLLoader.processProcessingInstruction(FXMLLoader.java:2677) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2517) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:89) 
    ... 22 more 
Caused by: java.lang.ClassNotFoundException: com.jfoenix.controls.JFXTextField 
    at java.lang.ClassLoader.findClass(ClassLoader.java:530) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at javafx.fxml.FXMLLoader.loadTypeForPackage(FXMLLoader.java:2932) 
    at javafx.fxml.FXMLLoader.loadType(FXMLLoader.java:2921) 
    at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2862) 
    ... 27 more 

mein main.java:

package application; 

import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.stage.Stage; 
import javafx.scene.Parent; 
import javafx.scene.Scene; 


public class Main extends Application 
{ 

    @Override 

    public void start(Stage primaryStage) 
    { 
     try 
     { 
      Parent root =FXMLLoader.load(getClass().getResource("/application/GetStarted.fxml")); 
      Scene scene = new Scene(root); 
      scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
      primaryStage.setScene(scene); 
      primaryStage.setTitle("LOGIN"); 
      primaryStage.setResizable(false); 
      primaryStage.show(); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 

    public static void main(String[] args) 
    { 
     launch(args); 
    } 

} 
+0

Es sieht aus wie Sie die JAR-Datei enthalten sind, für deine Drittanbieter-Bibliothek in der Bibliothek des Szenebuilders. Siehe http://stackoverflow.com/questions/29601190/include-controls-fx-in-scene-builder für eine ähnliche Frage (wenn auch eine andere Bibliothek). –

+0

Wo kann ich die JAR-Dateien der Third-Party-Bibliothek finden? – mistletoe

+0

Umm, wo immer du sie hinstellst? Wenn Sie eine Bibliothek eines Drittanbieters verwenden, haben Sie diese wahrscheinlich heruntergeladen und irgendwo installiert. Nur du weißt wo. –

Antwort

2

Das Problem ist, dass die SceneBuilder (Scene Builder ist 8.2.0 Es wurde am 18. Mai 2016 veröffentlicht) in der aktuellen Version, wenn es geöffnet wird, müssen zuerst die Bibliotheken herunterladen und öffnen Sie die Datei fxml.Es ist wie ein Fehler, ich werde den Link finden und posten ...

Obwohl es im nächsten Update behoben wird.

Lösung für diese Version:

1 zuerst) die SceneBuilder öffnen

2) Nun öffnen Sie Ihre fxml/fxml Datei/Dateien

+0

Okay, aber gibt es noch einen anderen Weg? Ich habe wieder Probleme. Die von Ihnen gelieferte Lösung funktioniert. Aber es wäre großartig, wenn die Fxml-Datei mit der Option 'Öffnen mit Scenebuilder' geöffnet werden könnte. – mistletoe

+0

@mistletoe Was ich meine ist, muss der 'SceneBuilder' geöffnet werden, egal ob Sie eine Datei geöffnet haben oder nicht. Dann ist der Trick hier. 'Sie gehen einfach auf Eclipse oder, wann immer Sie die FXML-Datei haben, und doppelklicken Sie darauf (wenn SceneBuilder geöffnet ist, müssen Sie nur eine Instanz davon öffnen, um die benutzerdefinierten Bibliotheken zu laden)'. Keine Notwendigkeit, es von "SceneBuilder" -Menü zu öffnen:) .... – GOXR3PLUS

+0

@mistletoe In der nächsten Version von 'SceneBuilder', die behoben wird, für jetzt nur einige knifflige Möglichkeiten zur Verfügung stehen, ist es ein bekanntes Problem. – GOXR3PLUS

Verwandte Themen