GetResource 方法并不适用于任何地方
GetResource method doesn't work everywhere
您好,我遇到了“getResource”方法的问题。
new Object() {}.getClass().getResource("layout/main.fxml")
我试图从布局目录中获取资源文件,但当我在位于子目录的文件中使用它时,它总是 returns null。 (ResourcesUtils.java - 查看图片)
只有当我在不在子目录中的 Main.java 中使用它时才有效。
My project directory
我需要设置不同的路径吗?
感谢帮助
layout/main.fxml
是“相对路径”。为了获得具体路径,系统会添加您调用 getResource 的 class 包的路径,这将是代码所在的任何包,因为您是在匿名本地 class.
无论代码位于何处,绝对路径都有效:
getResource("/fr/etna/penelope/layout/main.fxml")
另一个解决方案可能是在特定 class 而不是匿名 class 上调用 getResource,因为这将使用固定的程序包名称。例如:
Main.class.getResource("layout/main.fxml")
您好,我遇到了“getResource”方法的问题。
new Object() {}.getClass().getResource("layout/main.fxml")
我试图从布局目录中获取资源文件,但当我在位于子目录的文件中使用它时,它总是 returns null。 (ResourcesUtils.java - 查看图片)
只有当我在不在子目录中的 Main.java 中使用它时才有效。
My project directory
我需要设置不同的路径吗?
感谢帮助
layout/main.fxml
是“相对路径”。为了获得具体路径,系统会添加您调用 getResource 的 class 包的路径,这将是代码所在的任何包,因为您是在匿名本地 class.
无论代码位于何处,绝对路径都有效:
getResource("/fr/etna/penelope/layout/main.fxml")
另一个解决方案可能是在特定 class 而不是匿名 class 上调用 getResource,因为这将使用固定的程序包名称。例如:
Main.class.getResource("layout/main.fxml")