簡體   English   中英

無法在Netbeans JavaFX項目中集成通過SceneBuilder生成的FXML

[英]Can't integrate FXML generated with SceneBuilder in Netbeans JavaFX project

我使用場景生成器生成了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預覽它。 謝謝

抱歉這么晚才回復。

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

出現錯誤的行是URL行。 它由SceneBuilder生成。

PS:同時將JavaFX版本更新到2.2+應該可以解決此問題。

您還可以從SceneBuilder中的FXML中刪除控制器,然后手動添加控制器java文件(用@FXML注釋)中存在的所有fxID。 在SceneBuilder中重新添加了控制器類之后,仍無法識別fxID,但是fxid =“ fxid name”將被添加到FXML文件本身中,因此當您運行javaFX程序時它將起作用。

好吧,沒有您的fxml文件或代碼,很難理解任何內容。 但是無論如何:此錯誤是在您的所有項目中發生還是僅在此項目中發生? 如果不僅如此,也許您使用的是Javafx sdk的舊版本,或者其他一些全局配置錯誤。 如果只有這個有此問題,請嘗試從FXML文件中逐個刪除組件,以解決該問題。

好吧,不是如何加載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 ();

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM