您的帖子中有多个需要澄清的点。我将尝试用不同的要点回答:
但据我所知,JavaFX已从JDK 9中排除。
从JDK 11开始,JavaFX将从Oracle JDK中分离出来。我强调Oracle JDK是因为JavaFX从未成为OpenJDK的一部分。即使在OpenJDK 8中也不是。
实际上我正在Ubuntu 18上使用OpenJDK 11(虽然eclipse写着我有JavaSE 10环境,这也让我有点困惑)
为了在Eclipse中支持Java 11,请安装
Eclipse Photon的Java 11支持插件。
以下是一些有关如何在Eclipse中运行Java 11应用程序的示例
我使用sudo apt install openjfx
安装了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 jars从Java FX 11 SDK添加到项目的模块路径中。
![enter image description here](https://istack.dev59.com/11xDH.webp)
创建一个module.info
并声明其依赖于javafx.controls
模块。javafx11
是包含您的Java文件的包的名称。
module javafx11 {
requires javafx.controls;
exports javafx11;
}
运行程序 \o/
非模块化项目
创建一个Java项目,并将JavaFX 11 SDK的Jars添加到项目的模块路径或类路径之一。
将以下JVM参数添加到项目的运行配置中:
--module-path=path-to-javafx-skd/lib --add-modules=javafx.controls
运行程序 \o/