JavaFX 為 Java 繼 Awt, Swing 之後推出的第 3 代圖形介面 (GUI) 套件,多了場景建立器 (Scene Builder),排版配置檔 CSS 等支援能力。 利用 NetBeans 整合開發環境 (IDE) 撰寫 JavaFX 應用時,常遇到開發環境如何建立的問題。很容易會遇到如下錯誤:
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
或
java.lang.module.FindException: Module javafx.fxml not found
以下整理幾點 NetBeans 整合 JavaFX SDK,SceneBuilder 場景建立器,詳查 Build 腳本的方法,供除錯參考。
✅ NetBeans 整合 JavaFX SDK 方法
Project Properties
Libraries/
Java Platform: JDK xx (Default)
Compile/Compile-time Libraries:
Classpath: JavaFX yy
Run/Run-time Libraries:
Modulepath: JavaFX yy
Run/
Configuration: <default config>
VM Options:
--add-modules javafx.controls,javafx.fxml,javafx.media
✅ NetBeans 整合 SceneBuilder 方法
Tools/Options/Java/JavaFX
JavaFX Scene Builder Integration
Scene Builder Home: C:\Users\zz\AppData\Local\SceneBuilder
✅ NetBeans除錯想看Build執行腳本內容
Tools/Options/Java/Ant:
Ant Home: ...
[v] Always Show Output
Verbosity Level: Quiet/Normal/[Verbose]/Debug
即可觀看Ant Target (build.xml) Output
註1: 建立 JavaFX 開發環境所須安裝套件如下
1.OpenJDK
https://learn.microsoft.com/zh-tw/java/openjdk/download
microsoft-jdk-21.0.5-windows-x64.msi (不含JavaFX)
microsoft-jdk-21.0.5-macos-aarch64.pkg
https://www.azul.com/downloads/?package=jdk-fx#zulu
zulu21.38.21-ca-fx-jdk21.0.5-win_x64.msi (含JavaFX)
2.NetBeans
https://netbeans.apache.org/download/index.html
Apache-NetBeans-22-bin-windows-x64.exe
Apache-NetBeans-22.pkg
3.SceneBuilder
https://gluonhq.com/products/scene-builder/
SceneBuilder-23.0.1.msi
SceneBuilder-23.0.1-aarch64.dmg
4.JavaFX SDK
https://gluonhq.com/products/javafx/
openjfx-17.0.13_windows-x64_bin-sdk.zip
openjfx-17.0.13_osx-aarch64_bin-sdk.zip
註2: JavaFX 和 JDK 的版本相容性,可參考如下說明:
Version history of Java EE, JPA, Java DB, JavaFX, and JDK
Year JavaFX (LTS) Compatible JDK (LTS) Note
2018 JavaFX 11 (LTS) J2SE 11, 17, 21 JDK 8 不支援 JavaFX 11 模組功能
2021 JavaFX 17 (LTS) J2SE 11, 17, 21
2023 JavaFX 21 (LTS) J2SE 17, 21 JDK 11 不支援 JavaFX 21 模組版本
註3: NetBeans 要看到 Scene Builder Home,須要安裝且啟動(Activate)如下任一插件
Tools/Plugins:
JavaFX 2
或
JavaFX Implementation for Windows
安裝之後,針對專案 .fxml 按右鍵,才會看到如下選項
Open 連動開啟場景建立器畫面
Edit 開啟.fxml文字畫面
Make Controller 產生 .fxml 中 fx:controller 屬性指定的控制器.java類別檔
註4: NetBeans 要能看到 JavaFX yy 類別庫,須設定
Tools/Libraries/Libraries:
Library Name: JavaFX yy
Classpath/Add JAR/Folder...:
...\javafx-sdk-yy\lib\javafx-swt.jar
...\javafx-sdk-yy\lib\javafx.base.jar
...\javafx-sdk-yy\lib\javafx.controls.jar
...\javafx-sdk-yy\lib\javafx.fxml.jar
...\javafx-sdk-yy\lib\javafx.graphics.jar
...\javafx-sdk-yy\lib\javafx.media.jar
...\javafx-sdk-yy\lib\javafx.swing.jar
...\javafx-sdk-yy\lib\javafx.web.jar
註5: NetBeans 要能點選原始碼類別,按右鍵點選
Show Javadoc (Alt-F1) 看到類別 註解說明,須設定
Tools/Libraries/Libraries:
Library Name: JavaFX yy
Javadoc/Add URL...: https://docs.oracle.com/javafx/2/api/
註6: NetBeans 要能點選原始碼類別,按右鍵點選
Navigate> Go to Source (Ctrl-Shift-B) 看到類別 原始碼,須設定
Tools/Libraries/Libraries:
Library Name: JavaFX yy
Sources/Add JAR/Folder...: ...\javafx-sdk-yy\src.zip
沒有留言:
張貼留言