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

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

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