我一直把我的Java应用程序的所有图像放在src里面的一个名为“rtype”的包中,我也有我的Class来处理这些图像。我想对图像进行排序并将它们放在自己的文件夹中。当我这样做时,图像将不再加载到类中,我知道这是因为我更改了文件路径。我做了一些研究并尝试了一些不同的东西。这基本上就是我原来的:
String walkingDown = "WalkingDown.gif";
ImageIcon ii;
Image image;
ii = new ImageIcon(this.getClass().getResource(walkingDown));
image = ii.getImage();
并且在我将图像的位置移动到类的位置之外之前它工作得很好。现在它无法找到图像。这是我尝试在线尝试(文件夹名称是精灵):
//use getClassLoader() inbetween to find out where exactly the file is
ii = new ImageIcon(this.getClass().getClassLoader().getResource(standingDown));
和
//Changing the path
String walkingDown = "src\\Sprites\\WalkingDown.gif";
//also tried a variation of other paths with no luck
我正在使用C盘,但不想在我的扩展程序中使用“C”,因为我希望无论我在哪里放置项目都可以访问它。我在这一点上相当坚持,已经做了足够的调查,意识到是时候问了。
答案 0 :(得分:1)
您的变量名为walkingDown
,但您将standingDown
传递给getResource()
方法。
答案 1 :(得分:1)
我有一个单独的“包”用于具有该名称的图像(在src文件夹中)
尝试这样的事情:
try {
ClassLoader cl = this.getClass().getClassLoader();
ImageIcon img = new ImageIcon(cl.getResource("images/WalkingDown.gif"));
}
catch(Exception imageOops) {
System.out.println("Could not load program icon.");
System.out.println(imageOops);
}
答案 2 :(得分:1)
new ImageIcon("src/Sprites/WalkingDown.gif");