我正在創建一個Javafx GUI應用程序,而我的項目是一個經過Maven配置的項目。我希望能夠在控制器中像這樣引用我的fxml文件:FXMLLoader.load(getClass().getResource("main.fxml");我的main.fxml文件位于src / main / resources文件夾中,而我的控制器位于src / main / java文件夾中。我該怎么做?我的src / main / resources文件夾位于構建路徑中,我能夠從src / main / java文件夾中的類調用src / main / resources文件夾中的.properties文件。編輯我試圖將fxml文件放在主資源文件夾的相應目錄中:但我仍然有一個錯誤。
3 回答

尚方寶劍之說
TA貢獻1788條經驗 獲得超4個贊
您正在FXMLLoader fxmlLoader = new FXMLLoader( getClass().getResource("main.fxml") );
用來加載main.fxml。這需要main.fxml和java類將其加載到同一目錄/路徑中。如果要從不同于加載Java類的路徑/位置加載fxml文件,則需要使用相對路徑。如上文@jewelsea所述,您可以在main.fxml之前使用/字符來使用相對路徑。因此,適合您的情況的代碼是
FXMLLoader fxmlLoader = new FXMLLoader( getClass().getResource("/main.fxml") );

當年話下
TA貢獻1890條經驗 獲得超9個贊
在操作系統的文件資源管理器中打開資源文件夾。在這里,您將看到已在“ dominion”文件夾中創建了一個“ dominion.application”文件夾,而不是一個“ application”文件夾。因此,“ MainController”類與fxml文件放在不同的包中。
添加回答
舉報
0/150
提交
取消