Java:当一个程序被 .jar 编辑时,它不再读取 jar 文件中的图像?

标签 java jar

我需要它在不将文件导出到计算机的情况下运行。
目前,我存储图像的代码是:

ImageIcon icon = new ImageIcon("images\\images2.gif");

它不能只是一个图像,因为我将它添加到 JLabel。
当我 jar 整个程序时,它将图像文件存储在 jar 中。
当我去运行实际问题时,没有图像。

同样,我不能只将 .jar 留在已包含图像的文件夹中。它必须在单独的计算机上单独运行。

最佳答案

您需要通过系统类加载器获取图像:

URL url = ClassLoader.getSystemClassLoader().getResource("images/images2.gif");
Icon icon = new ImageIcon(url)

images 位于类路径的根目录。

请注意,Java 运行时会将分隔符 (/) 转换为操作系统特定的分隔符(\,适用于 Windows)。

关于Java:当一个程序被 .jar 编辑时,它不再读取 jar 文件中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1854557/

相关文章:

java - 如何解决发布版本中重复的 jar 条目 [com/android/volley/R.class]?

java - jar无法访问资源文件夹

java - 强制 Storm 使用 fat jar 依赖而不是类路径定义的依赖

java - OrderList 内的 Primefaces 面板

java - 类中的多个可比较

java - 如何在 OpenGL 中渲染具有不同颜色侧面的立方体?

java - dom4j : adding PI in text content

java - 创建没有依赖的jar A,并让依赖项目C下载这个依赖A所依赖的依赖B

java - 执行jar时出现异常

java - 乘以百分比值