java - 如何在 Eclipse 中使用 JavaFX 11?

标签 java eclipse javafx javafx-11

我在使用 JavaFX 时遇到了一些问题。我想开始创建应用程序,桌面或移动,至少是一些东西。所以我发现我可以为它使用 JavaFX 库。但据我所知,它被排除在 JDK 9 之外。我实际上在 Ubuntu 18 上使用 OpenJDK 11(尽管 Eclipse 写道我有 JavaSE 10 环境,这也是我有点困惑的地方)并且我安装了 OpenJFX使用 sudo apt install openjfx 我无法让 Eclipse 与 JavaFX 一起工作。

我不确定不将 JDK 8 与包含的 JavaFX 一起使用是否有任何意义,但无论如何,我如何在 Eclipse 中的这种情况下使用 JavaFX?

最佳答案

您的帖子中有多个要点需要澄清。我将尝试用不同的要点来回答它们:

But as far as I understood, it(JavaFX) was excluded from JDK 9.

从 JDK 11 开始,JavaFX 将与 Oracle JDK 分离。我强调 Oracle JDK,因为 JavaFX 从来不是 OpenJDK 的一部分。甚至在 OpenJDK 8 中也不行。

I'm actually using OpenJDK 11 on Ubuntu 18 (Though eclipse writes I have JavaSE 10 environment, that is where I'm also a bit confused)

要在 Eclipse 中支持 Java 11,您需要安装 Java 11 Support for Eclipse Photon插件。

这里有一些Examples on how to run Java 11 applications in Eclipse

I installed openjfx using sudo apt install openjfx and I can't make eclipse work with JavaFX.

I'm not sure if there's any sense not to use JDK 8 with included JavaFX, but anyway, how can I use JavaFX in such conditions in eclipse?

由于 OpenJDK 11 或 Oracle JDK 11 不会与 JavaFX 捆绑在一起,您最好的选择是从 here 下载 JavaFX SDK。或 here并将它们加载到您的 IDE 中。

如果你习惯构建工具,可以直接使用JavaFX runtime jars which are available in Maven Central .

有关如何在 OpenJDK 11 上运行 JavaFX 11 的教程,您可以关注:

JavaFX 11 和 Eclipse

在撰写本文时,您需要 Eclipse 4.9M3使用 JavaFX 11。

一旦您拥有 eclipse、JDK 11 和 JavaFX 11 SDK,您可以选择创建:

  • 基于模块的项目
  • 非基于模块的项目(不需要 module-info.java)

基于模块的项目

创建一个 Java 项目并将 Java FX 11 SDK 中的 JavaFX jar 添加到项目的模块路径。

enter image description here

创建一个module.info 并声明它对javafx.controls 模块的依赖。 javafx11 是包含您的 Java 文件的包的名称。

module javafx11 {
    requires javafx.controls;
    exports javafx11;
}

运行程序\o/

非基于模块的项目

创建一个 Java 项目并将 JavaFX 11 SDK 中的 JavaFX jar 添加到项目的模块路径或类路径中。

将以下 JVM args 添加到项目的运行配置中:

--module-path=path-to-javafx-skd/lib --add-modules=javafx.controls

运行程序\o/

关于java - 如何在 Eclipse 中使用 JavaFX 11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52013505/

相关文章:

java - java 是否有等效于 C# "using"子句

java - 使用 forEach 和 Stream 的优缺点

java - JUnit 调试 - 无法在 eclipse 中安装断点

java - 如何将该项目导入到 Eclipse 中?

JavaFX 和 OpenJDK

java - request.getParameter ("String")始终返回 null。为什么?

java - 双jsvc进程

java - 如何从自定义 Eclipse 插件调用现有 Eclipse 对话框?

java - 检查属性是否与其他属性双向绑定(bind)

java - TableView - 编辑焦点单元格