包含带有可执行jar的图像

Min*_*con 5 java jar image embedded-resource javax.imageio

我一直在浏览Stackoverflow,寻找如何做到这一点,我还没有成功

我正在打包我制作成可执行jar的快速游戏,但我没有正确引用图像我只是引用了文件

background = ImageIO.read(new File("wood.jpeg"));
Run Code Online (Sandbox Code Playgroud)

我在src默认包中有我的类我不知道我应该在哪里添加图像,或者我是否必须将它添加到构建路径或者在最新版本的eclipse中将图像添加到构建路径的正确方法

Mad*_*mer 12

Jar中的文件不是磁盘上文件意义上的文件.它们只是一个(可能)压缩的字节流.

Java可以很容易地通过使用来从Jar文件中提取这些"资源" ClassLoader

background = ImageIO.read(getClass().getResource("/wood.jpeg"));
Run Code Online (Sandbox Code Playgroud)

应该管用...

这将返回一个URLImageIO可以用来加载资源.

你也可以阅读

我可以列出更多.所以,是的,它被问了很多;)

  • +1非常简单的解释,但您还应该提到图像应该放在项目中的位置.例如src/main /资源供maven选择. (2认同)
  • 另请参见[embedded-resource info.页面(http://stackoverflow.com/tags/embedded-resource/info). (2认同)