在最近的Java11版本中,JavaFX不再包含在JDK中。我有一个现有的JavaFX项目。我对如何将其从Java10项目更改为Java11很感兴趣。我确信我已经正确安装了Java11,并且我能够将默认的SDK从Java10更改为Java11。我不知道的是如何让JavaFX与Java11一起工作。
我已经下载了最新的JavaFX release here。我已经将其解压到包含其他JDK的Java文件夹中,但此时我真的不知道该怎么做。我读过一些描述如何使用Maven或Gradle连接项目的长篇指南,但我从未使用过这些指南。有没有办法在IntelliJ菜单中添加JavaFX支持?
发布于 2018-11-20 15:50:27
下载适合您的操作系统的JavaFX SDK并解压缩到所需的位置,例如/Users/ your -user/Downloads/javafx-sdk-11。

创建一个JavaFX项目,为项目提供一个名称(如HelloFX )和一个位置。当项目打开时,无法识别JavaFX类。

转到文件->项目结构->项目,将项目SDK设置为11。也可以将语言级别设置为11。设置JDK 11

转到文件->项目结构->库,并将JavaFX 11SDK作为库添加到项目中。指向JavaFX SDK的lib文件夹。

一旦应用了该库,集成开发环境就会识别JavaFX类。

警告:如果您现在运行项目,它将编译,但您将得到以下错误:
错误:缺少运行此应用程序所需的JavaFX运行时组件
由于Java11启动器检查主类是否扩展了javafx.application.Application,因此会显示此错误。如果是这种情况,则需要在模块路径上具有javafx.graphics模块。
要解决此问题,请单击运行->编辑配置...并添加以下VM选项:
--模块路径%PATH_TO_FX% --添加模块=javafx.control,javafx.fxml
请注意,IntelliJ创建的默认项目使用FXML,因此javafx.fxml和javafx.controls都是必需的。如果您的项目使用其他模块,您也需要添加它们。

单击apply并关闭对话框。
单击Run -> Run...为了运行这个项目,现在它应该工作得很好。
发布于 2019-06-01 21:09:45
您可以从https://www.azul.com/downloads/zulu/zulufx/下载包含JavaFX的java版本。在这种情况下,在Java11上运行JavaFx应用程序不需要特殊的设置,JavaFX的工作方式就像在Java8上一样。
https://stackoverflow.com/questions/52682195
复制相似问题