IntelliJ導入JavaFX包的攻略
本人編程小白,在網(wǎng)上反復(fù)查找沒能找到能徹底解決ij讀不到fx包的問題,綜合了幾個帖子整理了流程出來,一方面是為了防止我本人需要再搞一次但是忘了,一方面是為了降低和我情況相似的人在查找教程時的血壓,總之流程放這里了
首先,這個教程是針對“我下載了一個工程,那個工程有文件import了javaFX的玩意兒,我想運行那個文件/其他沒用javaFX的玩意,但是報錯報了一坨紅色的東西”的情況
1.本人使用的jdk是corretto-17,我也忘了從哪里下的了
然后是從這里下的javaFX包
https://gluonhq.com/products/javafx
我下載的是對應(yīng)我jdk版本的17.0.8。若讀者的jdk版本不同,請同樣下載對應(yīng)版本的包
這里強烈建議留著下載下來的zip直到FX能正常跑,因為后面可能需要進行玄學操作
先把javaFX包體里的bin和lib文件夾直接扔進你jdk的文件夾。我的在這個地方。其余的可能地方大概就是Program file->Java之類的。找不到的話我記得ij可以看的來著
然后那個包體里剩下的東西就沒用了,記得扔回收站防止?jié)撘颇恼加媚愕碾娔X內(nèi)存

2.打開ij,打開需要javafx的那個工程
文件->項目結(jié)構(gòu)

打開之后,把語言級別調(diào)整為與jdk對應(yīng)的。我懷疑一個java版本可能有多個語言級別,如果一個不行換另外一個試試(我也不知道具體關(guān)系啊,別問我,只是個人覺得可能會有這種情況,我壓根沒碰到過)

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

現(xiàn)在再跑一次程序,不出預(yù)料的話你現(xiàn)在的報錯就會從一坨紅色的東西變成 “缺少運行時組件”
3. 現(xiàn)在新建一個性感的module-info.java在src下面的文件夾里面,直接建在src里估計也沒啥區(qū)別吧大概

打開,然后把這些東西復(fù)制粘貼上去
? ? requires javafx.fxml;
? ? requires javafx.controls;
? ? opens ~;

此處,~是"報錯類所在的文件夾"。如果有多個報錯類我估計你得再多整幾個opens,反正我沒這情況

最后跑一下這個info,如果沒報錯大概率就大功告成了,回去接著跑你需要跑的那個程序吧
4.玄學部分
如果上面這一套下來還是有問題,可以試下我忘了從哪里找到的一個辦法
前面不是讓你留著下載下來的fx的zip文件嗎?再解壓一個,放到無英文路徑
打開報錯的那個文件的窗口,然后右擊你打開的文件的窗口選項處,選擇修改運行配置

選擇程序?qū)崊?,塞入這坨東西
--module-path "~" --add-modules javafx.controls,javafx.fxml
此處~為你的jdk路徑
如果還是沒法運行就試著改成你剛剛解壓出來的第二個fx包的lib的路徑

再不行那沒辦法了,換個攻略看吧
參考:
https://www.cjavapy.com/article/556/
總之還有,但是想不起來參考的頁面是啥了