导出后,Java将无法显示图像

时间:2019-08-27 08:36:48

标签: java mysql netbeans

我在netbeans中创建了一个名为JavaProject的项目,当我将其导出到闪存驱动器中时,未加载图像,而其他功能正常运行。我想这可能是因为定义的路径。我使用了<label>.setIcon(new ImageIcon(<path of the image>)方法的主要方法。

imglabel.setIcon(new ImageIcon("C:\\Users\\admin\\Desktop\\java project\\photo.jpg");

我想也许我必须在src目录中做些事情,但我不知道什么。

1 个答案:

答案 0 :(得分:0)

因此,我所看到的路径都指向C:,我假设您将Java项目导出为jar文件,现在代码引用了驻留在jar文件中的图像。 jar文件中的任何资源都不能使用绝对路径访问。

有两个选择

  1. 将图像保留在jar之外,并从环境变量/外部属性文件等引用它们的路径
  2. 您还可以将其作为jar中的资源进行访问,例如

    InputStream inputStream = classLoader.getResourceAsStream(“ test / resources / MyImage.jpg”);

我更喜欢第一个,因为我不确定您的用例

注意:根据@mark的建议进行编辑