scenebulider无法打开fxml文件

我正在JavaFX中创建一个应用程序。 打开场景构建器时收到此错误:“无法打开Loggin.fxml。打开操作失败。请确保所选文件是有效的fxml文档。”

点击“显示详细信息”,它显示了我的错误:

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.(FXOMDocument.java:80) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.(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 

我的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); } } 

问题是SceneBuilder ( Scene Builder是8.2.0,它于2016年5月18日发布 )在当前版本打开时它必须首先下载库并打开fxml文件。它就像一个bug,我会找到链接并发布它…

虽然它将在下次更新时修复。

此版本的解决方案:

1)首先打开SceneBuilder

2)现在打开你的fxml / fxml文件/文件

Interesting Posts