【问题标题】:Can't get images working, with getResource()无法使用 getResource() 获取图像
【发布时间】:2013-06-05 17:43:21
【问题描述】:

我正在尝试制作一个 jar,但程序需要图像。当我运行罐子时,图像没有出现。然而,他们在日食中做到了。我使用了这段代码:

label.setIcon(new ImageIcon("res/img/icon.png"));

然后我在互联网上寻找修复它的方法。我在 StackOverflow 上找到了this 问题,但是当我在我的代码中尝试它时,它抛出了一个NullPointerException(也在 eclipse 中)。这是我现在的代码:

label.setIcon(new ImageIcon(getClass().getResource("/res/img/icon.png")));

图像位于包中一个单独的文件夹中,称为“res”:

【问题讨论】:

  • 确保图像实际上在 Jar 中,并且在 res/img/ 目录中。你的语法看起来不错
  • 您的res 在哪里?它必须在你的类路径下
  • 你应该像这样截图:stackoverflow.com/a/13695798/1834700
  • @Casper van Battum 哦,伙计,您的路径不正确,您应该立即将 res 文件夹移动到 src 文件夹!
  • 您不必在 src 中移动 res。您只需对 Eclipse 说 res 是一个源文件夹,因此将包含在 jar 中(项目属性 > Java 构建路径 > 源选项卡 > 添加文件夹)。在树形视图中,您会看到文件夹图标将变为带有包的文件夹。

标签: java image


【解决方案1】:
  1. 在您的项目中创建一个包,并将其命名为“Images”。
  2. 现在,将您正在使用的图像添加到此包中。
  3. 最后,调用包内的这些图像。

确保您输入的图片名称也正确

这是处理图像的最佳方式

更新

试试

label.setIcon(new ImageIcon(getClass().getResource("res/img/icon.png")));

而不是

label.setIcon(new ImageIcon(getClass().getResource("/res/img/icon.png")));

【讨论】:

    【解决方案2】:

    看看你的RES 文件夹实际上是在eclipse 的SRC 文件夹中。 有时,用户会在 eclipse 项目中添加一个文件夹。

    还有:

    • 尝试清理并重建您的项目。
    • 在 Eclipse 中,打开导航器视图。打开项目的 /bin 文件夹。是否有/res/img/icon.png(来自here的评论)

    【讨论】:

      猜你喜欢
      • 2014-05-09
      • 1970-01-01
      • 2011-02-05
      • 2018-01-01
      • 1970-01-01
      • 2023-01-08
      • 2021-06-10
      相关资源
      最近更新 更多