我知道已经存在一些关于相对路径的问题,但是我仍然没有让JavaFX FXML加载器从除了它自己之外的包中加载资源。
加载类位于包gui.controllers中,fxml文件BarSheet.fxml
位于包gui.resources
中。
我现在该怎么做:
FXMLLoader myLoader = new FXMLLoader(getClass().getResource("src/gui/resources/BarSheet.fxml"));
提前致谢
答案 0 :(得分:2)
解决:错误是因为我的fxml文件包含错误所以我不知道我何时进入正确的路径,因为它仍然无法正常工作... 该路径应以/开头,表示从根开始的路径,后跟packages / filename。所以在我的情况下
FXMLLoader myLoader = new FXMLLoader(getClass().getResource("/gui/resources/BarSheet.fxml"));
答案 1 :(得分:1)
作为补充,如果你有一个像com.company.view这样的软件包,并在里面你有.fxml
文件,为了使这项工作,你必须把这样的行:
FXMLLoader myLoader = new FXMLLoader(getClass().getResource("/com/company/view/file.fxml"));