0

我正在尝试从位于包'gui'中的类'GUI'访问位于我的(Java)项目(/resources/imgname.jpg)的顶级目录中的一些资源。

最初我使用以下代码:

ImageIcon image = new ImageIcon("./resources/imgname.jpg");
Image img = image.getImage();

这在 Eclipse 中运行良好,但在可运行 JAR 中时不显示图像。因此,经过一番搜索,您似乎需要:

InputStream resource = GUI.class.getResourceAsStream("./resources/imgname.jpg");
try {
    Image image = ImageIO.read(resource);
} catch (IOException e) {//trycatch needed because of read method}

现在这在 Eclipse 或 JAR 中都不起作用。我已经尝试更改参考和位置,但我可以让图像显示的唯一方法是将它放在“gui”包文件夹中。那么有什么方法可以在项目的顶部文件夹中引用它(所以我不必将资源移动到'gui')?

谢谢,

魔法

4

1 回答 1

0

尝试这个。

InputStream resource = GUI.class.getClassLoader().getResourceAsStream("resources/imgname.jpg");

这个对我有用。

于 2013-11-02T09:56:32.117 回答