小编典典

src文件夹中的Toolkit.getImage()

java

我正在尝试从软件包中的src /文件夹中获取图像,但是没有成功。

nekoPics[i] = tk.getImage(getClass().getResource(String.format("resources/pracs/neko/%s", nekosrc[i])));

有人建议吗?


阅读 293

收藏
2020-11-26

共1个答案

小编典典

是否将其复制到构建代码的任何地方?作为一个在src目录没有帮助,如果在执行时类是在bin目录(或jar文件)。

另请注意,如果您的课程在一个包中,则Class.getResource默认情况下它将相对于该包起作用。因此,如果您的包是foo.bar,它将在寻找foo/bar/resources/pracs/neko/whatever。如果要使其绝对,则可以使用ClassLoader.getResource,也可以/在字符串的开头放置前导:

String resource = String.format("/resources/pracs/neko/%s", nekosrc[i]);
nekoPics[i] = tk.getImage(getClass().getResource(resource));

要么

String resource = String.format("resources/pracs/neko/%s", nekosrc[i]);
nekoPics[i] = tk.getImage(getClass().getClassLoader().getResource(resource));

当然,如果reousrces目录 实际上是 相对于您的软件包的,则不应这样做:)

2020-11-26