图像不会显示在jar文件中

时间:2014-06-08 17:31:08

标签: java netbeans jar

我有一个netbeans java GUI项目。它包含java文件和图像文件夹。我项目中最重要的部分是通过单击按钮显示图像,让我们说它是NEXT按钮。单击“下一步”按钮时,图像将逐一显示在IMG文件夹中。我将图像放在标签中,如下所示:

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

我运行该程序,到目前为止,它可以按我的意愿运行。

然后,我需要将项目创建到一个jar文件中。我跟着Export JAR with Netbeansthis创建了我的项目的jar文件,最后我在./dist/目录中得到了myProject.jar文件。

当我运行myProject.jar时,我发现有些问题。当我单击“下一步”按钮时,图像不会像我在netbeans中尝试过的那样显示。我很困惑,我在lblImage.setIcon(new ImageIcon(getClass().getResource("../IMG/"+ namaGambar[gambarPos])));做错了什么 或者这里有什么问题?

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用"/" + zip entry name of the data在jar中获取资源。

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

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

你必须使用

"/IMG/"+ namaGambar[gambarPos]

作为Class.getResource的参数。


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