2

我使用场景生成器生成了 FXML。现在的问题是当我尝试集成它时,我得到了一堆异常行。还有其他人偶然发现这个问题吗?

Apr 23, 2012 2:33:40 AM javafx.fxml.FXMLLoader logException
SEVERE: The following error occurred at line 31 in file /C:/Users/gulcoza/Documents/NetBeansProjects/Commerce/build/classes/commerce/Login.fxml[Ljava.lang.StackTraceElement;@1d59bc95
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.javafx.main.Main.launchApp(Main.java:453)
    at com.javafx.main.Main.main(Main.java:537)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
    at com.sun.javafx.application.LauncherImpl.access$000(Unknown Source)
    at com.sun.javafx.application.LauncherImpl$1.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:722)
Caused by: javafx.fxml.LoadException: java.lang.InstantiationException: java.net.URL
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(Unknown Source)
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(Unknown Source)
    at javafx.fxml.FXMLLoader.processStartElement(Unknown Source)
    at javafx.fxml.FXMLLoader.load(Unknown Source)
    at javafx.fxml.FXMLLoader.load(Unknown Source)
    at javafx.fxml.FXMLLoader.load(Unknown Source)
    at javafx.fxml.FXMLLoader.load(Unknown Source)
    at commerce.Commerce.start(Commerce.java:25)
    at com.sun.javafx.application.LauncherImpl$5.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$4.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$3.run(Unknown Source)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
    at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
    ... 1 more
Caused by: java.lang.InstantiationException: java.net.URL
    at java.lang.Class.newInstance0(Class.java:357)
    at java.lang.Class.newInstance(Class.java:325)
    ... 15 more
Java Result: 1

我认为 FXML 很好,因为它可以从 SceneBuilder 预览它。谢谢

4

4 回答 4

2

回复晚了,请原谅。

  <stylesheets>
    <URL value="@style.css" />
  </stylesheets>

有错误的行是 URL 行。它由 SceneBuilder 生成。

PS:还将 JavaFX 版本更新到 2.2+ 应该可以解决这个问题。

于 2012-05-06T12:44:44.550 回答
2

您还可以在 SceneBuilder 中从 FXML 中删除控制器,然后手动添加控制器 java 文件中存在的所有 fxID(使用 @FXML 注释)。在scenebuilder中重新添加控制器类后,仍然无法识别fxID,但是fxid =“fxid name”将被添加到FXML文件本身,因此当您运行javaFX程序时它将起作用。

于 2017-05-16T16:08:31.490 回答
0

好吧,如果没有您的 fxml 文件或代码,就很难理解任何事情。但无论如何:这个错误是发生在您的所有项目中还是仅发生在这个项目中?如果不仅如此 - 也许您使用旧版本的 javafx sdk 或其他一些全局配置是错误的。如果只有这个有这个问题 - 尝试从 FXML 文件中逐个删除组件,以本地化问题。

于 2012-04-25T14:43:15.133 回答
0

好吧,不是如何加载 FXML,而是这样我犯了那个错误

primaryStage.setTitle ("FXML TableView Example");
    primaryStage.setScene
    ((Scene) FXMLLoader.load (getClass (). GetResource ("fxml_tableview.fxml")));
    primaryStage.show();

 

这样,如果我运行:

Parent FXMLLoader.load root = (getClass (). GetResource ("Prueba.fxml"));
     primaryStage.setTitle ("FXML TableView Example");
     primaryStage.setScene (new Scene (root));
     primaryStage.show ();

希望这可以帮助。

于 2012-08-03T20:28:21.260 回答