在jdk10之前,javafx是集成在jdk之中的,无需另外导入,而在jdk10之后,就需要单独配置了

本文主要介绍在IDEA中配置javafx的过程,参考了JetBrain的help文档Create a new JavaFX project

下载Javafx sdk

首先在官网 JavaFX 下载最新版本的Javafx sdk

idea中java普通项目导入fastjson包 idea导入javafx包_intellij idea

选择对应的版本即可,下载后将其放置到常用的位置,我将其直接放置在Download目录下

/Users/xxx/Downloads/javafx-sdk-11.0.2

idea中java普通项目导入fastjson包 idea导入javafx包_JavaFX_02

IDEA 配置Javafx

首先新建一个Javafx项目

idea中java普通项目导入fastjson包 idea导入javafx包_JavaFX_03

打开后发现是这样的(一片红就没啥好事~~~)

idea中java普通项目导入fastjson包 idea导入javafx包_intellij idea_04

找了一圈才发现在Jdk10之后就将javafx从jdk中分离出来了,需要另外导入,这在前面已经提到过,接下来介绍如何在项目中导入javafx

修改项目配置

File -> Project Structure或快捷键 ⌘ + ;

  1. 在左侧工具栏选择Libraries,点击图中的‘+’,选择Java
  2. 接下来选择之前下载的javafx sdk的地址(注意这里选择的是lib文件夹),点击open
  3. 之后出现的弹窗均选择OK即可,随后可以看到如下界面,选择apply,将刚才的配置应用到项目中
  4. 在这之后,可以看到项目中的一片红就消失了,However,运行一下,仍然有问题
  5. idea中java普通项目导入fastjson包 idea导入javafx包_javafx_05

添加运行时JVM参数

这个问题找了很久才找到答案,需要修改JVM参数才可以正确运行

  1. 修改Main.java的运行参数,这在IDEA中比较简单,按照图中的顺序点击Main -> Edit Configurations
  2. 在 Vm options 一栏中点击图中圈出的位置,输入以下内容
--module-path
/Users/xxx/Downloads/javafx-sdk-11.0.2/lib  //在这里填入之前下载的javafx-sdk的位置
--add-modules
javafx.controls,javafx.fxml

⚠️注意

  1. 如果你的jdk11以及之后的版本,添加上面的内容即可
  2. 如果你使用的是jdk14,则需要另外增加一条命令,即
--module-path
/Users/xxx/Downloads/javafx-sdk-11.0.2/lib  //在这里填入之前下载的javafx-sdk的位置
--add-modules
javafx.controls,javafx.fxml
--add-exports javafx.graphics/com.sun.javafx.sg.prism=ALL-UNNAMED

idea中java普通项目导入fastjson包 idea导入javafx包_javafx_06

由于我使用的是jdk12,故填入以下内容

idea中java普通项目导入fastjson包 idea导入javafx包_intellij idea_07

运行程序

配置完成后,再次运行程序,结果如下(总算成功🤦♂️)

idea中java普通项目导入fastjson包 idea导入javafx包_JavaFX_08