目前我正试图加载图像,这将是" JAR友好"可以说,但是我无法将图像加载到其中。
目前文件夹的布局如下:
>src
>package.name.etc
ImageLoader.java
>assets
>images
>menu
background.png
目前我正在尝试实施以下代码:
public Image loadImage(String filename) {
Toolkit tk = Toolkit.getDefaultToolkit();
URL url = null;
try {
url = this.getClass().getResource("assets/images/menu/" + filename);
}
catch (Exception e) {
e.printStackTrace();
}
Image i = tk.getImage(url);
return i;
}
以及我尝试加载图片的另一种方法:
Image background = loadImage("background.png");
这只是返回一个空指针异常,说明那里没有图像,我真的不知道如何使图像正常工作。感谢任何帮助。谢谢。
编辑:这是我得到的错误,我不知道应该从哪里抓到它。
Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(Unknown Source)
at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)
答案 0 :(得分:0)
为了在jar中包含图像,我已完成以下步骤:
使用以下层次结构:
SRC>
packageName< --- code is here
packageName.resources< --- image structure here
try {
BufferedImage img =
ImageIO.read(this.getClass().getResourceAsStream("resources/"+filename));
} catch (IOException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
请查看THIS并检查是否需要assets/images/menu/
部分