jar中的Java小程序

jar中的Java小程序,java,jar,applet,Java,Jar,Applet,通过我在谷歌上找到的东西,我没有幸运地实现这一点。您可以使用 您可以使用Class.getClassLoader() 如果您的图像被命名为myimage.png,并且位于jar中名为images的目录中,您可以得到这样的图像 URL url = cl.getResource("images/myimage.png"); 然后可以使用URL在内存中创建图像对象 Image i = Toolkit.getDefaultToolkit().createImage(url); Java网站上的教程可

通过我在谷歌上找到的东西,我没有幸运地实现这一点。

您可以使用

您可以使用
Class.getClassLoader()

如果您的图像被命名为
myimage.png
,并且位于jar中名为
images
的目录中,您可以得到这样的图像

URL url = cl.getResource("images/myimage.png");
然后可以使用URL在内存中创建图像对象

Image i = Toolkit.getDefaultToolkit().createImage(url);
Java网站上的教程可能对您有用

您将执行以下操作:

java.net.URL imgURL = this.getClass().getResource(path);

getResource()
方法使用与类相同的加载规则。

1)如果只包含图像,请确保将Jar条目设置为“无压缩”。Zip(在Jar中使用)压缩对图像几乎没有任何作用。2) 我建议将这些类放入使用标准压缩的单独Jar中。它们将被压缩得更小,JRE只需与服务器进行一次连接即可将它们全部压缩。为什么不想将小程序放在Jar中?最好链接到最新版本的JavaDocs。我已将您的答案编辑为指向J2SE 7。有关获取最新文档链接的提示,请参阅+谢谢你的回答。美丽的。顺便问一下,有没有类似的方法来处理音频文件?工具箱似乎没有涵盖它。我建议你看看这个问题。值得注意的是,如果您要使用的方法不接受URL对象,而是采用
InputStream
。通过调用URL对象上的
openStream()
方法,可以使用URL对象获取原始
InputStream
。然后,您可以将这个字节流传递给您需要的任何内容。
java.net.URL imgURL = this.getClass().getResource(path);