欢迎光临散文网 会员登陆 & 注册

IntelliJ导入JavaFX包的攻略

2023-07-28 15:00 作者:QUIETTTTTTTT  | 我要投稿

本人编程小白,在网上反复查找没能找到能彻底解决ij读不到fx包的问题,综合了几个帖子整理了流程出来,一方面是为了防止我本人需要再搞一次但是忘了,一方面是为了降低和我情况相似的人在查找教程时的血压,总之流程放这里了

首先,这个教程是针对“我下载了一个工程,那个工程有文件import了javaFX的玩意儿,我想运行那个文件/其他没用javaFX的玩意,但是报错报了一坨红色的东西”的情况

1.本人使用的jdk是corretto-17,我也忘了从哪里下的了
然后是从这里下的javaFX包
https://gluonhq.com/products/javafx
我下载的是对应我jdk版本的17.0.8。若读者的jdk版本不同,请同样下载对应版本的包
这里强烈建议留着下载下来的zip直到FX能正常跑,因为后面可能需要进行玄学操作

先把javaFX包体里的bin和lib文件夹直接扔进你jdk的文件夹。我的在这个地方。其余的可能地方大概就是Program file->Java之类的。找不到的话我记得ij可以看的来着
然后那个包体里剩下的东西就没用了,记得扔回收站防止潜移默化的占用你的电脑内存



2.打开ij,打开需要javafx的那个工程
文件->项目结构



打开之后,把语言级别调整为与jdk对应的。我怀疑一个java版本可能有多个语言级别,如果一个不行换另外一个试试(我也不知道具体关系啊,别问我,只是个人觉得可能会有这种情况,我压根没碰到过)



然后就是在库里加上你的jdk的lib文件夹地址



现在再跑一次程序,不出预料的话你现在的报错就会从一坨红色的东西变成 “缺少运行时组件”


3. 现在新建一个性感的module-info.java在src下面的文件夹里面,直接建在src里估计也没啥区别吧大概



打开,然后把这些东西复制粘贴上去

    requires javafx.fxml;

    requires javafx.controls;

    opens ~;

此处,~是"报错类所在的文件夹"。如果有多个报错类我估计你得再多整几个opens,反正我没这情况

我这里是这个HelloTutor报错了,所以我就写了comp1110.lab1


最后跑一下这个info,如果没报错大概率就大功告成了,回去接着跑你需要跑的那个程序吧

4.玄学部分
如果上面这一套下来还是有问题,可以试下我忘了从哪里找到的一个办法
前面不是让你留着下载下来的fx的zip文件吗?再解压一个,放到无英文路径
打开报错的那个文件的窗口,然后右击你打开的文件的窗口选项处,选择修改运行配置


选择程序实参,塞入这坨东西

--module-path "~" --add-modules javafx.controls,javafx.fxml

此处~为你的jdk路径
如果还是没法运行就试着改成你刚刚解压出来的第二个fx包的lib的路径



再不行那没办法了,换个攻略看吧

参考:
https://www.cjavapy.com/article/556/
总之还有,但是想不起来参考的页面是啥了

IntelliJ导入JavaFX包的攻略的评论 (共 条)

分享到微博请遵守国家法律