JavaFX:无法更改默认的 JavaFX 平台

问题描述 投票:0回答:1

我正在使用 Netbeans IDE 17。我在设置不同的 JavaFX 平台版本时遇到问题。因此我无法创建新的 JavaFx 项目。

工具/Java平台:

在创建新的 JavaFX 项目时,我多次尝试添加新平台,但无法在组合框中选择它们:

java javafx netbeans sdk platform
1个回答
0
投票

好消息是您的问题很容易解决。坏消息是,一旦问题得到解决,您将遇到另一个问题,对此没有简单的解决办法。

首先,请注意您的屏幕截图,您被邀请提供“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 开发有多种替代方法,这些方法可能适合您,也可能不适合您:

  • 在 NetBeans 中创建 Maven 项目而不是 Ant 项目。
  • 使用替代 IDE,例如 Intellij IDEA。
  • 回归到更早版本的 NetBeans(12.0 或更早版本)并使用 JDK 8。

最后一点:虽然在使用 Ant 时无法构建由向导生成的 JavaFX 项目,但仍然可以运行包含由向导生成的 main() 方法的文件,使用 Run > Run文件。这是一个屏幕截图,显示我在代码中进行了一些外观更改后正在运行的文件:

当然这种方法的价值有限,但我提到它是为了完整性。

© www.soinside.com 2019 - 2024. All rights reserved.