OpenJFX
首先,要知道 Oracle 已将 JavaFX 的实现开源为 OpenJFX 项目,这是 OpenJDK 项目的子项目。
JavaFX/OpenJFX 的进一步开发现在由Gluon 公司领导。 OpenJFX 的发展势头强劲,版本 11、12、13、14 以及现在的预发布 15 几乎与 Java 11、12、13、14 和 15 的发布同步推出。
我推荐以下方法之一,而不是手动下载 JavaFX:
- 获取捆绑了 OpenJFX 的 JDK
- 使用依赖管理器将 OpenJFX 自动下载到您的应用中
JavaFX 与 JDK 捆绑
将您的 Java 实现替换为捆绑了 JavaFX 的开源实现(称为 OpenJFX)的实现。
您至少可以找到两个这样的捆绑 JDK:
-
LibericaFXfrom BellSoft 就是这样一种基于 OpenJDK 项目的 Java 实现。
-
ZuluFX 来自Azul Systems,宣布here。提示:在他们的下载页面上,使用 Java Package 弹出菜单选择 JDK FX 或 JRE FX。截至 2020 年 5 月,他们尚未发布 JavaFX 包的第 14 版,但他们有 ZuluFX 的第 8、11 和 13 版。我建议稍后再回来查看 14,或联系公司。 ZuluFX 是免费的,如果您有兴趣购买对 JavaFX 的支持,我们会邀请您讨论。
这是我为帮助人们选择 Java 实现的供应商而制作的流程图。注意“捆绑的 OpenJFX?”靠近底部的分支。
OpenJFX 作为依赖项
我不知道 Atom 是否可以与依赖项管理器一起使用,但供您参考……
配置您的构建工具,例如 Maven 或 Gradle,以自动下载和捆绑 OpenJFX 作为依赖项。
对于 Maven,here 是 javafx-controls 的当前 POM 配置,适用于 Java 和 OpenJFX 版本 14。您可能还需要 JavaFX Maven 插件 Maven Mojo (javafx-maven-plugin)。
以下是基于我当前 JavaFX 应用程序中真实 POM 的示例 POM。
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>work.basil.example</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>14</maven.compiler.source>
<maven.compiler.target>14</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>14.0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>14</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<mainClass>work.basil.jartran.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
您可以使用 Maven archetype provided by the OpenJFX project 创建基于 Maven 的项目。上面看到的 POM 将自动为您创建。您可能需要更新版本号。