您的帖子中有多个要点需要澄清。我将尝试用不同的要点来回答它们:
但据我了解,它(JavaFX)被排除在 JDK 9 之外。
JavaFX 将从 JDK 11 开始与Oracle JDK分离。我强调 Oracle JDK,因为 JavaFX 从来都不是 OpenJDK 的一部分。甚至在 OpenJDK 8 中也没有。
我实际上在 Ubuntu 18 上使用 OpenJDK 11(虽然 eclipse 写我有 JavaSE 10 环境,但这也是我有点困惑的地方)
对于 Eclipse 中的 Java 11 支持,您需要安装
Java 11 Support for Eclipse Photon插件。
下面是一些关于如何在 Eclipse 中运行 Java 11 应用程序的示例
我使用安装了 openjfx sudo apt install openjfx
,但无法使 eclipse 与 JavaFX 一起使用。
我不确定不使用包含 JavaFX 的 JDK 8 是否有任何意义,但无论如何,如何在 Eclipse 中的这种情况下使用 JavaFX?
由于 OpenJDK 11 或 Oracle JDK 11 不会与 JavaFX 捆绑在一起,因此最好的办法是从此处或此处下载 JavaFX SDK并将它们加载到您的 IDE 中。
如果您习惯于构建工具,您可以直接使用Maven Central 中提供的 JavaFX 运行时 jar。
有关如何在 OpenJDK 11 上运行 JavaFX 11 的教程,您可以关注:
JavaFX 11 和 Eclipse
在撰写本文时,您需要Eclipse 4.9M3才能使用 JavaFX 11。
拥有 eclipse、JDK 11 和 JavaFX 11 SDK 后,您可以选择创建:
- 基于模块的项目
- 非基于模块的项目(不需要
module-info.java
)
基于模块的项目
创建一个 Java 项目并将 JavaFX 11 SDK 中的 JavaFX jar 添加到项目的模块路径中。
创建一个并声明其对模块module.info
的依赖。是包含您的 Java 文件的包的名称。javafx.controls
javafx11
module javafx11 {
requires javafx.controls;
exports javafx11;
}
运行程序\o/
非模块项目
创建一个 Java 项目并将 JavaFX 11 SDK 中的 JavaFX jar 添加到项目的模块路径或类路径中。
将以下 JVM 参数添加到项目的运行配置中:
--module-path=path-to-javafx-skd/lib --add-modules=javafx.controls
运行程序\o/