我正在使用 Netbeans IDE 17。我在设置不同的 JavaFX 平台版本时遇到问题。因此我无法创建新的 JavaFx 项目。
工具/Java平台:
在创建新的 JavaFX 项目时,我多次尝试添加新平台,但无法在组合框中选择它们:
好消息是您的问题很容易解决。坏消息是,一旦问题得到解决,您将遇到另一个问题,对此没有简单的解决办法。
首先,请注意您的屏幕截图,您被邀请提供“JavaFX 平台”而不仅仅是“Java 平台”。也就是说,您需要提供一个包含 JavaFX 模块的 JDK,并且您选择的 JDK 20(默认) 可能无效。
Azul 提供免费的 JDK 下载,其中包含 JavaFX 模块。这是我刚才从 https://www.azul.com/downloads/?package=jdk#zulu 下载一个的截图:
一定要为Java包指定JDK FX。我下载了 zip(而不是 msi),解压后有一个名为 zulu19.32.15-ca-fx-jdk19.0.2-win_x64 的顶级目录。使用Tools > Java Platforms > Add Platform... 创建一个新的 Java 平台,并指定该目录。我将我的新平台命名为Java193215Azul:
现在您应该能够避免屏幕截图中显示的问题。导航到 File > New Project... > Java with Ant > JavaFX > JavaFX Application,然后单击 Next >。在 JavaFX 平台 字段中的New JavaFX Application 屏幕上,选择您刚刚下载并添加为 Java 平台的 Azul SDK:
现在应该没有错误了,您可以点击Finish生成您的项目。
这解决了您的问题,但重要的是要注意,当您构建由 NetBeans 向导生成的 JavaFX 应用程序时,您将收到一个不相关的构建错误:
大约一年前提出了该问题的错误报告,但尚未解决。查看 NetBeans 错误 Build Failed #3996:
当我构建 javafx 应用程序时出现此错误“无法创建 javax javafx 中的 JavaScript 脚本引擎。
为避免此问题,JavaFX 开发有多种替代方法,这些方法可能适合您,也可能不适合您:
最后一点:虽然在使用 Ant 时无法构建由向导生成的 JavaFX 项目,但仍然可以运行包含由向导生成的 main() 方法的文件,使用 Run > Run文件。这是一个屏幕截图,显示我在代码中进行了一些外观更改后正在运行的文件:
当然这种方法的价值有限,但我提到它是为了完整性。