当前位置: 首页 > 知识库问答 >
问题:

图像在jar文件中不显示

马凡
2023-03-14

我有一个netbeansjavagui项目。它包含用于图像的java文件和文件夹。我的项目中最重要的一部分是通过单击按钮来显示图像,比如说单击“下一步”按钮。当我点击“下一步”按钮时,图像将从IMG文件夹中逐个显示。我将图像放在标签中,如下所示:

lblImage.setIcon(new ImageIcon(getClass().getResource("../IMG/"+ namaGambar[gambarPos])));

我运行了这个程序,到目前为止,它可以按照我的要求工作。

然后,我需要将项目创建到一个jar文件中。我使用Netbeans和这个来创建我的项目的JAR文件,最后我得到了我的项目。输入jar文件/dist/目录。

当我运行我的项目时。jar,我发现有点不对劲。当我单击“下一步”按钮时,图像不会像我在netbeans中尝试过的那样显示。我搞糊涂了,我在lblImage中做错什么了吗。设置图标(新的图像图标(getClass()。getResource(“../IMG/”namaGambar[gambarPos]) 或者这里有什么问题?

我怎样才能解决这个问题?


共有1个答案

雍阳
2023-03-14

使用"/"数据的zip条目名称在jar中获取资源。

假设您的jar文件如下所示:

xyz.jar
   |------IMG
   |       |-------picture1.png
   |       |-------picture2.gif
   |       |-------picture3.jpeg
   .       .
   .       .
   .
   |------org
   .       |-------example
   .       .          |---------MyClass.class
   .       .          .
   .       .
   .

你得用

"/IMG/"+ namaGambar[gambarPos]

作为类的参数。获取资源

NetBeans从文件build/classes运行程序,而不是从jar文件运行程序。这就解释了不同的行为。

 类似资料:
  • 我在Eclipse中有一个Java项目。这是文件夹结构: 代码包位于src中,所有图像都位于res文件夹中。 代码中的图像参照如下: 但是,在我将项目导出到JAR文件后(通过使用导出- 所有图像都在根文件夹中,无法正确引用。如何正确地引用这些图像,使它们在Eclipse和导出的JAR中都可见?

  • 我正在尝试从可执行JAR文件加载图像。 我跟踪了这里的信息,然后是这里的信息。 这是检索图像的函数: 这就是它的名称: 这是一个简单的对象。我也不会得到NullPointerException,除非它被UI屏蔽。 我检查了JAR文件,图像位于: /图片/标识1。巴布亚新几内亚 当前代码在eclipse中以及导出到JAR并在终端中运行时都有效,但在双击JAR时不起作用,在这种情况下,图标是默认的JF

  • 我试过将图像定位到许多不同的地方,也试过不同的加载图像的方法,但没有一种方法奏效,我已经确保图像在导出的JAR文件中确实正确地出现。

  • 问题内容: 在NetBeans上运行时,以下代码可以正常工作。 但是,一旦将其内置到Jar文件中,该图标就消失了。 任何人都知道出什么问题了吗?我意识到我必须将图标图像放在根目录中,但是,在编译为JAR之后,图标消失了。 谢谢你的帮助 … 大家好,以下代码解决了这个问题, 一旦编译成jar文件,它就可以工作。 问题答案: 用 代替。 注意: 仅当图像位于jar文件的根目录中时,此行才有效。如果不是

  • 因此,在NetBeans IDE中,一切正常。全力工作。但是在Built&Clean之后,我看不到图像,但所有的操作都完成了。 你能建议出了什么问题吗?因为这个而生气

  • 我的程序在Eclipse中运行完美,但是当我导出它时,图像不显示出来。 我的设置看起来像 我参考标志。来自MenuMain的png。java,我尝试了很多方法; 前3个在Eclipse中工作,但都不在Jar中工作。我检查了Jar文件,res文件夹在那里,所有的图像也是如此。我还尝试编辑MANIFEST. MF并添加了类路径: 但它仍然不起作用。我在运行Jar时没有发现任何错误,其他所有内容都显示在