【问题标题】:Java .Jar Image Not Showing UpJava .Jar 图像未显示
【发布时间】:2011-11-19 12:42:07
【问题描述】:

我在 Java 中创建了一个应用程序(使用 Eclipse IDE),我在代码中引用了存储在名为“source”的源文件夹中的图像,它在 IDE 中运行良好。当我将 jar 提取到一个可运行的 jar 中时,没有错误,但图片没有显示,或者如果它显示了它背后的任何内容。我在 WinRar 中打开了 .jar,看起来图片都与类文件一起放入。我该如何解决这个问题?

Image i = Toolkit.getDefaultToolkit().getImage("sources/SystemTrayOne.png");

【问题讨论】:

  • 可以给我们看看相关代码吗?您不是将图像称为 Jar 中的文件吗?或者它们是否作为资源被访问?你看到任何例外吗?你有空的 catch 块吗?

标签: java eclipse resources jar


【解决方案1】:

您正在尝试获取 Jar 中不存在的文件。而是通过 Class#getResource(...) 获取 URL

例如,

URL imgUrl = getClass().getResource(....); // resource name here
Image i = Toolkit.getDefaultToolkit().getImage(imgUrl);

或更好

URL imgUrl = getClass().getResource(....); // resource name here
Image i = ImageIO.read(imgUrl);

【讨论】:

  • 我应该把图片放在哪里?
  • 将图像保留在它所在的位置,因为这不是问题。问题是如何检索它。 getResources(...) 所需的字符串将是图像文件名以及相对于您的类文件位置的路径。
  • 它起作用了,但是 Eclipse 忽略了将我的“源”文件夹中的所有内容放入一个单独的文件夹中,我必须自己这样做
【解决方案2】:

直到昨天我也面临同样的问题。我已经解决了这个问题。让我分享给你。

  • 在您的 Eclipse 中,转到您的项目名称。
  • 正确的项目名称。
  • 新建 -> 源文件/文件夹
  • 将此源文件/文件夹命名为图像
  • 现在在您的本地计算机上转到您的项目所在的 Eclipse 工作区 实际存在。
  • 将所有图像复制到新创建的“图像”文件夹中。
  • 现在回到 Eclipse。
  • 右键单击您的项目 -> 刷新
  • 现在,无论您在 .java 文件中使用图像的什么位置,转到这些行并在图像位置前加上 images/

示例:XXX xxx = XXXX (example.jpg) 将其更改为 .... XXX xxx = XXXX (images/example.jpg)

轰!!运行 .jar 文件时将显示图像。

注意:不要使用 java -jar AppName.jar 从 cmd 运行 .jar 文件,而只需双击 .jar 文件即可看到图像。

如果它对你有用,请点赞。 :)

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 2010-09-07
    • 2021-08-15
    • 2017-08-10
    • 1970-01-01
    相关资源
    最近更新 更多