首頁 > Java > java教程 > 如何引用儲存在 `src/main/resources` 資料夾中的 JavaFX FXML 檔案?

如何引用儲存在 `src/main/resources` 資料夾中的 JavaFX FXML 檔案?

Mary-Kate Olsen
發布: 2024-11-21 00:41:12
原創
809 人瀏覽過

How do I reference JavaFX FXML files stored in the `src/main/resources` folder?

引用資源資料夾中的JavaFX FXML 檔案

建置JavaFX GUI 應用程式時,您經常需要存取儲存在src/main/resources 資料夾中的FXML文件。為此,您可以使用 FXMLLoader.load() 方法,如您在問題中所提到的。

通用資源查找資訊

JavaFX FXML 檔案查找是通用資源查找過程的一部分在爪哇。資源位置作為輸入傳遞給 FXMLLoader。因此,資源查找是應用程式程式碼的一部分,而不是 FXMLLoader 本身。

有關JavaFX 應用程式資源查找的詳細信息,請參閱:

  • [確定正確路徑用於FXML、CSS、圖像和其他資源](https://stackoverflow. com/a/33169100/17772320)
  • [JavaFX 中資源檔案的放置位置](https://edencoding.com/ where-to-put-resource-files-in-javafx/)

使用範例

FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/main.fxml"));
Parent content = loader.load();
登入後複製

位置解析選項

有多種解析方法FXML 檔案位置:

  1. 將所有這些解析方法檔案放在src/main/resources 目錄中:

    • loader.setLocation(getClass().getResource(" /main.fxml"));
  2. 為FXML 檔案建立專用的src/main/resources/fxml 目錄:

    • loader.setLocation (getClass().getResource("/fxml/main.fxml"));
  3. 將FXML 檔案放置在反映Java 來源層次結構的對應資源目錄中:

    • src/main/resources/com/mycompany/myapp :
    • loader.setLocation(getClass().getResource("main.fxml"));

FXMLLoader 使用建議

  • FXMLLoader 使用建議
  • 透過new FXMLLoader() 實例化FXMLLoader,而不是靜態方法。
設定 FXMLLoader 上的位置並使用 load( ),而不是從流載入。

使用 getClass().getResource() 衍生類別的基於 URL 的位置。

    IDE 和建置設定
  • 確保您的 IDE 或建置工具將 FXML 檔案從資源目錄複製到建置輸出目錄。有關Intellij 設置,請參閱:

[如何在Intellij 中將普通Java 專案轉換為JavaFX 專案](https://dzone.com/articles/how-to-convert-a-normal -java-project-into-a-javafx-1)

    Java Jigsaw 模組化應用程式
  • 在Java 模組化應用程式中,請謹慎使用類別載入器進行資源查找。相反,直接從類別存取資源:
正確:ComboBoxStyling.class.getResource("/css/styleclass.css");不正確:ComboBoxStyling.class.getClassLoader( ).getResource("/css/styleclass.css");

以上是如何引用儲存在 `src/main/resources` 資料夾中的 JavaFX FXML 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板