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

杰克·J

在最近的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支持?

liuyez123

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

  1. 创建一个JavaFX项目

在此处输入图片说明

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

  1. 设置JDK 11

Go to File -> Project Structure -> Project, and set the project SDK to 11. You can also set the language level to 11. Set JDK 11 在此处输入图片说明

  1. Create a library

Go to File -> Project Structure -> Libraries and add the JavaFX 11 SDK as a library to the project. Point to the lib folder of the JavaFX SDK. 在此处输入图片说明

Once the library is applied, the JavaFX classes will be recognized by the IDE. 在此处输入图片说明

Warning: If you run now the project it will compile but you will get this error:

Error: JavaFX runtime components are missing, and are required to run this application

This error is shown since the Java 11 launcher checks if the main class extends javafx.application.Application. If that is the case, it is required to have the javafx.graphics module on the module-path.

  1. Add VM options

To solve the issue, click on Run -> Edit Configurations... and add these VM options:

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

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

  1. 运行项目

单击运行->运行...以运行项目,现在它应该可以正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章