儘管套件對齊,JavaFX「需要位置」錯誤
「java.lang.NullPointerException:需要位置」。當應用程式無法找到 FXML 檔案時,JavaFX 中會出現錯誤。雖然您提到您的 FXML 檔案與 Main 類別位於同一套件中,但深入研究此問題的潛在原因非常重要。
驗證 FXML 檔案位置
確保 FXML 檔案確實與您的 Main 類別位於同一套件中。使用 getClass().getClassLoader().getResource("FXMLFileName.fxml") 而不是 getClass().getResource("FXMLFileName.fxml") 初始化 FXML 載入程式。這可以確保載入器搜尋整個類別路徑,包括 Main 類別所在的套件。
修正 Maven 問題
如果您在使用 Maven 時遇到此錯誤,則為可能是由 Maven 處理資源的方式引起的。在Maven中,資源被打包成具有特定目錄結構的JAR檔案。這可能會導致 FXML 檔案位於與主類別相關的預期路徑之外的其他位置。
要解決此問題,您可以:
使用ResourceBundle 的範例
要使用ResourceBundle,請新增下列內容程式碼到您的主類別:
,取代行Parent root = FXMLLoader.load(getClass().getResource("main.fxml"));其中:透過解決這些潛在問題,您應該能夠解決JavaFX 程式中的「位置需要”錯誤並成功載入FXML 檔案。以上是儘管與主類別位於同一包中,為什麼我的 JavaFX FXML 檔案會拋出'需要位置”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!