我知道以前曾问过这个问题(或类似问题),但我仍然不明白。我创建了一个具有以下内部结构的jar:

JAR文件配置--- codeBehind
--- commandLine --- gui

-资源

在resources文件夹中,有一张我想用作图标的图像,但是我不知道如何获得它。我试过了

ImageIcon icon = new ImageIcon(getClass().getResource("settings.png"));
setIconImage(icon.getImage());


但是当我尝试访问该图标的图像时,它抛出一个NullPointerException。我试图分离命令的各个部分,而getResources("mypic.png")返回null。

关于如何获得它的任何想法?提前致谢!

最佳答案

the documentation of Class


  在委派之前,使用以下算法从给定资源名称构造绝对资源名称:
  
  
  如果名称以“ /”('\ u002f')开头,则资源的绝对名称是名称中“ /”之后的部分。
  否则,绝对名称的格式如下:
  modified_pa​​ckage_name /名称
  
  
  其中Modifyed_pa​​ckage_name是此对象的软件包名称,用“ /”代替“。”。 ('\ u002e')。


所以你可能想要

getResource("/settings.png")


要么

getResource("/resources/settings.png")


或类似的东西,取决于您的类路径,我相信。

07-24 09:44
查看更多