Java Jar图像未显示

Java Jar图像未显示,java,eclipse,resources,jar,Java,Eclipse,Resources,Jar,我用Java开发了一个应用程序(使用EclipseIDE),我在代码中引用了存储在名为“source”的源文件夹中的图像,它在IDE中运行良好。当我将jar提取到一个可运行的jar中时,没有错误,但是图片不会显示,或者如果它显示了,它只会显示它后面的内容。我在WinRar中打开了.jar,看起来所有的图片都与类文件一起抛出。我怎样才能解决这个问题 Image i = Toolkit.getDefaultToolkit().getImage("sources/SystemTrayOne.png")

我用Java开发了一个应用程序(使用EclipseIDE),我在代码中引用了存储在名为“source”的源文件夹中的图像,它在IDE中运行良好。当我将jar提取到一个可运行的jar中时,没有错误,但是图片不会显示,或者如果它显示了,它只会显示它后面的内容。我在WinRar中打开了.jar,看起来所有的图片都与类文件一起抛出。我怎样才能解决这个问题

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

您试图获取一个Jar中不存在的文件。而是通过
类#getResource(…)

e、 g

或者更好

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

您试图获取一个Jar中不存在的文件。而是通过
类#getResource(…)

e、 g

或者更好

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

直到昨天,我还面临着同样的问题。我有办法解决这个问题。让我和你分享

  • 在Eclipse中,转到项目名称
  • 正确的项目名称
  • 新建->源文件/文件夹
  • 将此源文件/文件夹命名为图像
  • 现在,在本地计算机上转到Eclipse工作区,您的项目将在该工作区中运行 他亲自在场
  • 将所有图像复制到新创建的“图像”文件夹中
  • 现在回到Eclipse
  • 右键单击项目->刷新
  • 现在,无论您在哪里使用.java文件中的图像,请转到这些行,并在图像位置前面加上图像前缀/
示例:XXX XXX=XXXX(Example.jpg)将其更改为。。。。XXX XXX=XXXX(图像/示例.jpg)

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

注意:不要使用java-jarappname.jar从cmd运行.jar文件,只需双击.jar文件,您就会看到图像


如果对您有效,请投票:

直到昨天,我还面临着同样的问题。我有办法解决这个问题。让我和你分享

  • 在Eclipse中,转到项目名称
  • 正确的项目名称
  • 新建->源文件/文件夹
  • 将此源文件/文件夹命名为图像
  • 现在,在本地计算机上转到Eclipse工作区,您的项目将在该工作区中运行 他亲自在场
  • 将所有图像复制到新创建的“图像”文件夹中
  • 现在回到Eclipse
  • 右键单击项目->刷新
  • 现在,无论您在哪里使用.java文件中的图像,请转到这些行,并在图像位置前面加上图像前缀/
示例:XXX XXX=XXXX(Example.jpg)将其更改为。。。。XXX XXX=XXXX(图像/示例.jpg)

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

注意:不要使用java-jarappname.jar从cmd运行.jar文件,只需双击.jar文件,您就会看到图像


如果对您有效,请投票:

你能给我们看一下相关的代码吗?你不是把这些图像称为Jar中的文件,是吗?或者它们是作为资源访问的?你看到有例外吗?你们有空的catch块吗?能给我们看一下相关的代码吗?你不是把这些图像称为Jar中的文件,是吗?或者它们是作为资源访问的?你看到有例外吗?你有空的捕捉块吗?我应该把图像放在哪里?把图像放在它所在的地方,因为这不是问题所在。问题是如何检索它。
getResources(…)
所需的字符串将是图像文件名,其路径与类文件位置相关。它起作用了,但Eclipse忽略了将“源”文件夹中的所有内容放入单独的文件夹中。我必须这样做,我应该将图像放在哪里?将图像放在它所在的位置,因为这不是问题所在。问题是如何检索它。
getResources(…)
所需的字符串将是图像文件名以及相对于类文件位置的路径。它起到了作用,但Eclipse忽略了将我“源”文件夹中的所有内容放在单独的文件夹中,我必须自己这样做