首页 > 解决方案 > 如何在 Eclipse 中使用 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?

标签: javaeclipsejavafxjavafx-11

解决方案


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

但据我了解,它(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.controlsjavafx11

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/


推荐阅读