首页 > Java > java教程 > 为什么我无法从 Eclipse 加载导出的 JAR 中的图像?

为什么我无法从 Eclipse 加载导出的 JAR 中的图像?

Mary-Kate Olsen
发布: 2024-11-29 06:59:09
原创
861 人浏览过

Why Can't I Load Images in My Exported JAR from Eclipse?

从 Eclipse 导出的 JAR 中可加载图像

加载从 Eclipse 导出的 JAR 文件时遇到图像无法呈现的情况可能会令人沮丧。尽管图像存在于导出的 JAR 中,但由于加载技术不正确,它们可能不可见。

资源路径变量和代码变体

一个重要的方面是正确使用资源路径。引用的图片应打包在 Eclipse 指定的资源文件夹中,或者与项目结构中的源代码一起放置。

可以使用多种方法加载图片:

label.setIcon(new ImageIcon(MainFrame.class.getResource("/resources/header.jpg")));
登录后复制
URL url = getClass().getResource("/resources/header.jpg");
Image image = Toolkit.getDefaultToolkit().getImage(url);
label.setIcon(new ImageIcon(image));
登录后复制
try
{
    label.setIcon(new  ImageIcon(ImageIO.read(getClass().getResource("/resources/header.jpg"))));
}
catch (IOException e1)
{
    e1.printStackTrace();
}
登录后复制

解决资源加载问题

深入了解对于渲染图像失败的原因,与工作示例进行比较可能会有所帮助。以下部分介绍了带有插图和分步指南的场景,以帮助排除故障:

示例 1

对于位于 src 内的资源,请按照以下步骤操作:

  • 修改项目文件结构,将资源作为包内src.
  • 在代码中,在 MainFrame 类旁边使用以下资源路径:

    URL url = MainFrame.class.getResource("/resources/stackoverflow.png");
    登录后复制
  • 导出为可运行的 JAR 并运行它。

示例2

对于不在 src 内但包含在项目中的资源:

  • 确保资源文件夹位于项目构建路径上。
  • 在代码中访问图像,但省略资源前缀路径:

    URL url = Main.class.getResource("/stackoverflow.png");
    登录后复制
  • 如上所述导出 JAR。

启动配置

一旦可以加载图像在 Eclipse 中,设置启动配置对于导出 JAR 至关重要。通过这个简单的过程来创建配置:

  • 右键单击项目并选择“运行”->“运行配置”。
  • 为您的项目创建新的启动配置。
  • 导出为 Runnable 时确保选择此配置JAR.

验证

  • 检查导出的 JAR 清单时,应出现以下行:

    Rsrc-Main-Class: com.stackoverflow.test.Main
    登录后复制
  • 扩展的 JAR 应包含以下文件结构:

    stackoverflow.png (resource file)
    登录后复制
  • 运行此 JAR 应该成功渲染图像。

以上是为什么我无法从 Eclipse 加载导出的 JAR 中的图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板