0

我一直将我的 Java 应用程序的所有图像放在 src 中一个名为“rtype”的包中,其中我也有处理这些图像的类。我想对图像进行排序并将它们放在自己的文件夹中。当我这样做时,图像将不再加载到类中,我知道这是因为我更改了文件路径。我做了一些研究并尝试了一些不同的东西。这基本上是我最初的:

String walkingDown = "WalkingDown.gif";
ImageIcon ii;
Image image;
ii = new ImageIcon(this.getClass().getResource(walkingDown));
image = ii.getImage();

在我将图像的位置移到课堂位置之外之前它工作得很好。现在它找不到图像。这是我尝试并在网上找到的尝试(文件夹名称是 Sprites):

//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”,因为无论我将项目放在哪里,我都希望它可以访问。我在这一点上相当卡住,并且已经做了足够的研究以意识到是时候问了。

4

3 回答 3

1

您的变量名为walkingDown,但您传递standingDown给该getResource()方法。

于 2012-12-03T21:59:20.700 回答
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);
    }
于 2012-12-03T22:02:21.563 回答
1
new ImageIcon("src/Sprites/WalkingDown.gif");
于 2012-12-03T22:08:08.100 回答