首頁  >  文章  >  Java  >  為什麼在 JavaFX 11 中建立標籤時會出現 IllegalAccessError?

為什麼在 JavaFX 11 中建立標籤時會出現 IllegalAccessError?

Linda Hamilton
Linda Hamilton原創
2024-11-02 22:12:021014瀏覽

Why am I getting an IllegalAccessError when creating a Label in JavaFX 11?

JavaFX 11:建立標籤時出現 IllegalAccessError

JavaFX 11 對框架進行了重大更改,將其與 JDK 分離。此變更導致了一個常見問題,即使用者在建立標籤或其他控制項時遇到 IllegalAccessError。

問題原因

錯誤是由衝突引起的JavaFX 模組和專案的模組路徑之間。 JavaFX 11 使用模組化系統,其中庫被打包為模組,可以根據需要添加到您的專案中。但是,預設情況下,IntelliJ IDEA 沒有正確配置 JavaFX 的模組路徑。

解決方案

要解決此問題,您需要手動將 JavaFX 模組新增至您專案的模組路徑並指定您要使用的模組。

  1. 將JavaFX SDK 新增為庫:

    • 在IntelliJ IDEA 中,在專案資源管理器中右鍵點擊您的項目,然後選擇「新增框架支援」。
    • 從清單中選擇「JavaFX」並選擇適當的版本(本例為 11.0.2)。
  2. 設定虛擬機器選項:

    • 前往「執行」>編輯設定。
    • 在虛擬機器選項欄位中,加入以下內容:

    • 指定模組依賴:

      • <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11</version>
      • 在pom.xml 檔案中,加入以下依賴:

  • 附加說明
將「/path/to/javafx-sdk/lib」替換為JavaFX SDK庫目錄的實際路徑。

如果您需要使用其他 JavaFX 模組,請在 --add-modules 參數中指定它們(例如 --add-modules javafx.fxml)。 您可以透過將 --list-modules 標誌新增至 VM 選項來確認正在使用正確的模組。 透過執行下列步驟,您應該可以解決 IllegalAccessError在 JavaFX 11 中建立標籤或其他控制項時。

以上是為什麼在 JavaFX 11 中建立標籤時會出現 IllegalAccessError?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn