【问题标题】:Not able to access the image file when running jar file outside Netbeans在 Netbeans 之外运行 jar 文件时无法访问图像文件
【发布时间】:2012-12-15 10:21:20
【问题描述】:
lblImage = new javax.swing.JLabel();
lblImage.setIcon(new javax.swing.ImageIcon("E:..path...png"));

我像这样添加了文件。我知道运行 jar 文件时它没有访问路径。帮助我如何将图像文件导入 Netbeans 中的 java 项目。

【问题讨论】:

  • 你不应该这样做。将所有图像保存在项目本身的资源文件夹中,并通过 getResource 方法获取。
  • @vels4j:没有默认资源文件夹。我是否必须手动创建一个文件夹并将其命名为资源,或者在 net beans 中是否有任何其他方式来创建默认资源文件夹?
  • 您可以创建自己的 /projectname/resource/image.png
  • 请看一下这个关于如何add images to your NET BEANS project的答案,尽管按照这些步骤之后你必须像jLabel.setIcon(new ImageIcon(getClass().getResource("/resources/images/image.extension")));这样访问你的图像
  • 如果我想加载另一个文件,比如 xml 文件,那么我应该怎么做?(ex->new file(/path/sample.xml)); ——

标签: java swing packages embedded-resource imageicon


【解决方案1】:

在src文件夹下创建图片文件夹,将图片放入文件夹并给出创建图片图标对象的相对路径

     jLabel1.setIcon(new ImageIcon(getClass().getResource("/image/img1.jpg")));

然后重建jar。它将访问jar中的图像

【讨论】:

  • 以同样的方式处理 xml 文件。使用这样的 xml 文件->new File(/path/sample.xml)
【解决方案2】:

推荐的方法是把图片放在resource文件夹中,如下使用:

jLabel1.setIcon(new ImageIcon(getClass().getResource("/path/to/image.png"))); 

阅读更多:NetBeans Doc

【讨论】:

  • 没有默认资源文件夹。我是否必须手动创建一个文件夹并将其命名为资源,或者在 net beans 中是否有任何其他方式来创建默认资源文件夹?
  • 建议使用 NetBeans 的方式通常是为资源创建一个单独的 Java 包,并将图像资源放在其下。
  • 如果我想加载另一个文件,比如 xml 文件,那么我应该怎么做?(ex->new file(/path/sample.xml));
  • 如果你有多种类型的资源,然后创建单独的包,如imagexml
  • :请给我看一个这样的例子(File f=new File(path/sample.xml)),以便我可以从包中访问它。
猜你喜欢
  • 2019-05-21
  • 1970-01-01
  • 2021-02-08
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多