0

美好的一天,我正在学习官方 JavaFX FXML 教程(请参阅此处的源代码)。但是,当我使用 Netbeans IDE 编译它时,出现以下错误:

谁能帮我这个

我正在运行 JDK 1.7 和 JavaFX 2.0

初始化:删除:
C:\Users\riash\Documents\Riaz\Personal\Java\Samples\FXMLExample\build\built-jar.properties
deps-jar:更新属性文件:
C:\Users\riash\Documents\Riaz\Personal \Java\Samples\FXMLExample\build\built-jar.properties
compile: Detected JavaFX Ant API version 1.1 Launching task
from C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK\tools\ant-javafx.jar
Signing JAR:
C:\Users\riash\Documents\Riaz\Personal\Java\Samples\FXMLExample\dist\FXMLExample.jar 到
C:\Users\riash\Documents\Riaz\Personal\Java\Samples\FXMLExample\dist\FXMLExample.jar 为NB-JFX

警告:签名者证书将在六个月内到期。Enter Passphrase for keystore: Enter key password for nb-jfx: Launching task from C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK\tools\ant-javafx.jar 跳过 jar 复制到自身:FXMLExample.jar jfx-deployment :jar:运行:2012 年 6 月 19 日晚上 9:10:33 javafx.fxml.FXMLLoader logException 严重:文件
/C:/Users/riash/Documents/Riaz/Personal/Java/Samples/中的第 48 行发生以下错误FXMLExample/build/classes/fxmlexample/fxml_example.fxml[Ljava.lang.StackTraceElement;@1bb3a11
应用程序启动方法
java.lang.reflect.InvocationTargetException
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601)
在 com。 com.javafx.main.Main.main(Main.java:537)
处的 javafx.main.Main.launchApp(Main.java:453)

原因:java.lang.RuntimeException:
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。线程运行(线程.java:722)

原因:javafx.fxml.LoadException:javafx.scene.layout.GridPane 没有默认属性。

4

2 回答 2

1

将您的 JavaFX 运行时升级到至少 2.1 将解决您的问题。

您引用的示例源是为 2.1 运行时设计的,而不是 2.0 运行时。

新源与 2.0 不兼容的原因是 2.1 向 Pane 类添加了继承的 @DefaultProperty 注释(此注释行为被 GridPane 继承)。因此,当您使用 2.1 编写 fxml 时,您可以省略某些默认标记,从而使 2.1 fxml 比 2.0 所需的更简洁。达斯汀马克思在他的博客中提供了对此的完整解释。

于 2012-06-20T17:54:30.747 回答
0

从 JavaFx 2.0 升级到 JavaFx 2.2 将解决此问题。

于 2013-05-11T00:37:47.227 回答