【发布时间】:2012-02-17 09:38:21
【问题描述】:
没有运气通过我在谷歌上找到的东西让它工作。
【问题讨论】:
-
1) 如果 Jar 条目仅包含图像,请确保将其设置为“无压缩”。 Zip(在 Jar 中使用)压缩对图像几乎没有任何作用。 2)我建议将类放入使用标准压缩的单独 Jar 中。它们将被压缩得更小,JRE 只需要与服务器建立一个连接即可获得它们。为什么您不想将小程序放入 Jar 中?
没有运气通过我在谷歌上找到的东西让它工作。
【问题讨论】:
您可以使用 ClassLoader.getResource(String) 加载类路径上可用的任何资源,您的 jar 将成为该资源的一部分
您可以使用Class.getClassLoader() 获取对相关ClassLoader 对象的引用
ClassLoader cl = MyClass.class.getClassLoader();
如果您的图像被命名为myimage.png 并且在您的 jar 中名为 images 的目录中,您可以像这样获取图像。
URL url = cl.getResource("images/myimage.png");
然后您可以使用 URL 在内存中创建图像对象。
Image i = Toolkit.getDefaultToolkit().createImage(url);
【讨论】:
InputStream。您可以使用 URL 对象通过调用 openStream() 方法来获取原始的 InputStream。然后,您可以将此字节流传递给您需要的任何内容。
Java 网站上How to Use Icons 的教程可能对您有用。
你会做这样的事情:
java.net.URL imgURL = this.getClass().getResource(path);
getResource() 方法使用与 ClassLoader 为类定义的相同加载规则。
【讨论】: