1

我在这里学习教程。该文件位于项目的同一根文件夹中。当它位于 src 文件夹和同一个包文件夹中时,我尝试过这样做。这三个地点都没有工作。

具体的代码行是:

ImageIcon ii = new ImageIcon(this.getClass().getResource("bardejov.jpg"));

知道我做错了什么吗?

4

3 回答 3

3
// absolute from the classpath
MyClass.class.getResource("/myfolder/abc.txt");
// relative to the class location
MyClass.class.getResource("abc.txt");
// another relative to the class location
MyClass.class.getResource("myfolder/abc.txt");
于 2011-12-13T03:00:47.667 回答
2

getResources(...)方法查找与默认类加载器查找位置相关的文件,因此对于上面的代码,bardejov.jpg 需要与要找到的类文件一起存在。我自己,我通常在类文件目录之外创建一个子目录,比如说“images”并将我的图像放在那里,然后使用getClass().getResource("images/bardejov.jpg")

有关这方面的更多信息,请查看Class API

于 2011-12-13T02:47:52.620 回答
1

如果您的图像在同一个文件夹中,那么它可以工作,但如果您的图像在根文件夹中,则使用 /bardejov.jpg。

于 2011-12-13T02:48:31.423 回答