首頁 >Java >java教程 >如何在基於 Maven 的 JavaFX 專案中存取 FXML 檔案?

如何在基於 Maven 的 JavaFX 專案中存取 FXML 檔案?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-19 08:58:03714瀏覽

How Do I Access FXML Files in Maven-Based JavaFX Projects?

存取 Maven JavaFX 專案中的 FXML 檔案

在 JavaFX 應用程式中,從控制器引用 FXML 檔案至關重要。使用 Maven 建置專案時,考慮 FXML 檔案在資源資料夾中的位置非常重要。

Java 中的資源查找

在深入研究特定解決方案之前值得注意的是,FXML 檔案查找是 Java 中的一種通用資源查找任務。 FXMLLoader 將資源位置作為輸入,因此查找本身會在您的呼叫應用程式程式碼中進行。

FXML 位置解析選項

有多種方法可以建立您的FXML 檔案並解析其位置:

  1. 放置FXML src/main/resources 目錄中的檔案:

    loader.setLocation(getClass().getResource("/main.fxml"));
  2. 將FXML 檔案放在src/main/resources/fxml 中目錄:

    loader.setLocation(getClass().getResource("/fxml/main.fxml"));
  3. 將FXML 檔案放入對應的資源目錄:

    loader.setLocation(getClass().getResource("main.fxml"));

    這類假設執行FXML 載入位於對應的Java 來源

FXMLLoader 使用建議

為了獲得最佳結果,建議:

透過new 實例化FXMLLoader FXMLLoader() 而不是靜態方法。
ComboBoxStyling.class
    .getResource("/css/styleclass.css"); 

在實例化的 FXMLLoader 上設定位置並使用 load()。

使用 getClass().getResource() 基於類別派生位置。 IDE 和建置設定確保您的 IDE 或建置工具將 FXML 檔案從資源資料夾複製到建置輸出目錄。 Java Jigsaw 模組化應用程式對於使用Java Jigsaw 建立的模組化應用程序,使用該類別來取得資源直接取代類別載入器: 透過遵循這些準則,您可以在JavaFX 中有效地引用FXML 檔案Maven 專案控制器。

以上是如何在基於 Maven 的 JavaFX 專案中存取 FXML 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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