如何在IntelliJ IDEA中使用JavaFX和Java 11

Jac*_*k J 5 installation javafx intellij-idea gluon java-11

在最新的Java 11版本中,JavaFX不再包含在JDK中。我有一个现有的JavaFX项目。我有兴趣学习如何将其从Java 10项目更改为Java11。我确定我已正确安装了Java 11,并且能够将默认的SDK从Java 10更改为Java 11。我知道如何使JavaFX与Java 11协同工作。

我已经在这里下载了最新的JavaFX版本。我已经将其提取到包含其他JDK的Java文件夹中,但是我现在真的不知道该怎么办。我读了一些冗长的指南,描述了如何使用Maven或Gradle连接项目,但是我从未使用过。有没有办法在IntelliJ菜单中添加JavaFX支持?

小智 5

下载适合您的操作系统的JavaFX SDK,并将其解压缩到所需的位置,例如/ Users / your-user / Downloads / javafx-sdk-11。

  1. 创建一个JavaFX项目

在此处输入图片说明

创建一个JavaFX项目为该项目提供一个名称,例如HelloFX,并提供一个位置。当项目打开时,无法识别JavaFX类。 在此处输入图片说明

  1. 设置JDK 11

转到文件->项目结构->项目,并将项目SDK设置为11。您还可以将语言级别设置为11。设置JDK 11 在此处输入图片说明

  1. 创建一个图书馆

转到文件->项目结构->库,然后将JavaFX 11 SDK作为库添加到项目中。指向JavaFX SDK的lib文件夹。 在此处输入图片说明

应用该库后,IDE将识别JavaFX类。 在此处输入图片说明

警告:如果现在运行该项目,它将编译,但是会出现以下错误:

错误:缺少JavaFX运行时组件,并且是运行此应用程序所必需的

由于Java 11启动器检查主类是否扩展了javafx.application.Application,因此显示了此错误。如果是这种情况,则需要在模块路径上具有javafx.graphics模块。

  1. 添加虚拟机选项

要解决此问题,请单击运行->编辑配置...,然后添加以下VM选项:

--module-path%PATH_TO_FX%--add-modules = javafx.controls,javafx.fxml

请注意,由IntelliJ创建的默认项目使用FXML,因此javafx.fxml和javafx.controls一起是必需的。如果您的项目使用其他模块,则还需要添加它们。 在此处输入图片说明 单击“应用”,然后关闭对话框。

  1. 运行项目

单击运行->运行...以运行项目,现在它可以正常运行了。

  • 至少您可以添加从中逐字复制的链接。 (7认同)