從JDK 11開始,JavaFX已經不包含在JDK裡,所以我們要運行JavaFX程式,會比之前的版本中運行要麻煩一些。為此我查閱了一下JavaFX社區的資料:https://openjfx.io/openjfx-docs/

第一步,在IntelliJ IDEA中新建一個Maven項目,archetype那选上"org.codehaus.mojo.archetypes:javafx":

GroupId處可以寫自己定義的包名,例如:org.myjfx;ArtifactId處也可寫自己喜歡的名字,例如hellofx:

如果彈出了窗口詢問是否啟用Maven的自動導入,建議選擇啟用。

項目構建完成以後,我們把pom.xml文件中的代碼替換成這個網站中的:https://github.com/openjfx/samples/blob/master/IDE/IntelliJ/Modular/Maven/hellofx/pom.xml

再把其中的<mainClass>(這裡是第14行)標籤中的內容修改為自己項目中的MainApp類的全限定名,這裡是org.myjfx.MainApp:

下方還有一個<mainClass>標籤(這裡是第58行),我們把內容修改為${mainClass}:

接著,我們再把項目編譯一遍,Windows系統下可以使用快捷建 Ctrl + F9(雖然社區文檔是讓我們點擊窗口右邊的Maven項目窗口,然後{項目名}->Plugins->compiler->compiler:compile,但我發現這樣的話是不會編譯resources文件夾下的內容的),編譯成功後會生成target文件夾:

此時只要雙擊exec:java即可運行JavaFX項目,並彈出相應的窗口:

如此,便成功地在JDK 11版本上執行了JavaFX程式。

但此時還不能通過點擊綠色的小三角形來運行項目,運行的話是會報錯的。這個時候我們要在main/java下新建一個module-info.java文件(注意是在java目錄下新建,不要新建在org.myjfx包裡了):

裡面的內容如下:

module HelloFX {requires javafx.fxml;requires javafx.controls;opens org.myjfx to javafx.fxml;exports org.myjfx;
}

此時再點擊三角形就能正常運行了:

本文結束!

記録一次JDK 11下運行JavaFX(IntelliJ IDEA的Maven項目下)相关推荐

  1. 腾讯 JDK 11 正式开源,高性能、太牛逼啦!

    点击关注公众号,Java干货及时送达 大家好,我是基基. 今天,基基,跟大家分享一下,腾讯2021年开源的 JDK11 ,腾讯大数据JVM团队在Kona JDK11开源项目中,坚持了一贯的兼容性.可靠 ...

  2. Java JDK 11:现在可以使用所有新功能

    为什么80%的码农都做不了架构师?>>>    删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能 目录 哪里可以下载JDK 11 Java 11 JDK中 ...

  3. java11模块化开发_【JDK 11】关于 Java 模块系统,看这一篇就够了

    继 2014 年 3 月 Java 8 发布之后,时隔 4 年,2018 年 9 月,Java 11 如期发布,其间间隔了 Java 9 和 Java 10 两个非LTS(Long Term Supp ...

  4. jcmd_jcmd,大约JDK 11

    jcmd NicolasFränkel最近在博客文章" 行业工具OpenJDK 11 "中发布了与OpenJDK 11一起提供的命令行工具的调查. 在那篇文章中,他简要总结了工具j ...

  5. openjdk和jdk_JDK 11:发行候选更新和OpenJDK JDK 11 LTS

    openjdk和jdk JDK 11 计划于 2018年9月25日星期二发布,以实现全面可用性 .OpenJDK jdk-dev邮件列表上的Mark Reinhold消息于2018 年8月16日宣布& ...

  6. jdk8读取文件_用于从文件读取/写入文件的新JDK 11文件方法

    jdk8读取文件 我之前的文章重点讨论了可能添加到JDK 11中的Files.isSameContent()方法. JDK-8201276 ["(fs)向文件添加方法以从文件读取字符串或向文 ...

  7. switch字符串jdk_应用新的JDK 11字符串方法

    switch字符串jdk 在" 使用JDK 11的Java字符串上的新方法 "和" String#repeat即将加入Java? ",我讨论了JDK 11引入J ...

  8. destroy 方法_线程方法destroy()和stop(Throwable)在JDK 11中删除

    destroy 方法 @DrDeprecator (Stuart Marks)在core-libs-dev OpenJDK邮件列表上的消息" RFR(s):8204243:remove Th ...

  9. jdk12源代码文件_在JDK 11中启动单文件源代码程序

    jdk12源代码文件 JEP 330 –启动单文件源代码程序是即将发布的JDK 11(18.9)发行版中令人兴奋的功能之一. 此功能允许直接使用java解释器执行Java源代码. 源代码在内存中编译, ...

最新文章

  1. 【12】AngularJS 事件
  2. ubuntu16.04禁用触摸板
  3. angularAMD快速入门
  4. python图片解析库_python用来获得图片exif信息的库实例分析
  5. java中为什么设计包装类,Java 中为什么要设计包装类
  6. JavaSE——数组基础(创建格式、下标、获取长度、常见问题、多维数组)
  7. python3.7.4安装pip_python3.7下pip的安装教程
  8. c++ 静态类成员函数(static member function) vs 名字空间 (namespace)
  9. python列表初始化长度_在Python中预先初始化列表内容和长度的实现
  10. 《实施Cisco统一通信管理器(CIPT1)》一1.3 总结
  11. 通知!7月SCI/SSCI/EI目录已更新,大批中科院1-4区好刊,请查收!
  12. Spring中AOP及ReflectiveMethodInvocation逻辑简析
  13. 618当天,90%的程序员在干什么?
  14. 水仙花数n位c语言程序,水仙花数C语言的
  15. 【Latex学习】在IEEEtran模板中使用algorithm环境
  16. Linux那些事儿之我是U盘(16)冰冻三尺非一日之寒
  17. Axure8实现最常见的左侧动态导航
  18. PRD到底该怎么写?更全面的文档范例来了
  19. Android笔记总结
  20. 深入探索C语言struct的用法

热门文章

  1. 阿里云ACP认证(SLB专项)
  2. HTML期末学生大作业-拯救宠物网页作业html+css
  3. python manage.py runserver常驻服务器一直运行
  4. 老问题新解法——经典的大兔子生小兔子问题(斐波那契数列)
  5. 明天老外要上课,先准备一下词汇:)
  6. 深入理解Java之线程池
  7. 淘宝新手如何做推广 最新最全的淘宝店铺免费推广方法秘诀
  8. python alphashape_Python alphashape包_程序模块 - PyPI - Python中文网
  9. 创建采购订单BADI流程
  10. 利用C语言打印杨辉三角