今天第一次寫javafx遇到一些問題,全網搜索不到為什么。最后在官方的英文指導里面,艱難解決。記下來
使用intellij 就是idea 新建了一個javafx項目,但是運行呢,
提示找不到或無法加載main類
於是我換jdk,這鼓搗,那鼓搗,反正是提示找不到javafx包,報錯 找不到javafx. 包
最后多方了解,javafx開始內置於jdk8(雖然我用jdk8 也是提示找不到),去oracle.com 一看jdk8 確實提供了 javafx文檔,但是最新的jdk14 沒有。據說是在jdk11,javafx就被單獨拎出來了。於是,需要使用javafx呢,就需要去https://openjfx.cn/ 下載javafx包,然后設置環境路徑。好了開始吧。
https://gluonhq.com/products/javafx/ 在這里挑選合適版本,然后解壓到一個目錄。在bash環境變量里面添加變量
編輯 /etc/profile 里面添加
export PATH_TO_FX=path/to/javafx-sdk-13/lib
然后我使用的是idea教育版。
創建一個庫
轉至File -> Project Structure -> Libraries將JavaFX 13 SDK作為庫添加到項目中。指向JavaFX SDK 的lib文件夾。
創建一個庫
轉至File -> Project Structure -> Libraries將JavaFX 13 SDK作為庫添加到項目中。指向libJavaFX SDK 的文件夾。
同時,您可以定義一個全局變量,該變量可以在將來的項目中使用。轉至 Preferences (File -> Settings) -> Appearance & Behavior -> Path Variables,並將變量名稱定義為PATH_TO_FX,然后瀏覽至JavaFX SDK的lib文件夾以設置其值,然后單擊Apply。
到現在可以編譯運行,但是可能會報錯。
我到了這里就報錯,需要添加模塊
由IntelliJ創建的默認項目使用FXML,因此javafx.fxml 與一起是必需的javafx.controls。如果您的項目使用其他模塊,則還需要添加它們。
在將VM選項設置為以下選項時,可以引用全局變量:
請單擊Run -> Edit Configurations...並添加以下VM選項:
--module-path ${PATH_TO_FX} --add-modules javafx.controls,javafx.fxml
至此,您就可以成功編譯運行了。