Java - Maven - 在表单中设置图标图像

时间:2011-07-20 19:48:49

标签: java swing maven

我有一个maven项目,其中有一个JFrame,我想设置Frame的图标图像,以便设置按钮的图标图像。

我的图标图片存在于包com.foo.bar.frame.images中。我已经设置了正确的按钮图标图像,但是当我运行maven项目时,它会犹豫不决:

SEVERE: null
java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
        at com.intel.jiratool.jiraexcelclient.view.ExcelView.initComponents(ExcelView.java:119)
        at com.intel.jiratool.jiraexcelclient.view.ExcelView.<init>(ExcelView.java:40)
        at com.intel.jiratool.jiraexcelclient.Main.main(Main.java:54)

第167行:

btnClose.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/com/intel/jiratool/jiraexcelclient/view/images/32px-Crystal_Clear_action_exit.png"))); // NOI18N

此外,当我转到存放jar文件的目标文件夹时,如果我检查它,则没有任何图像。

我该如何处理这种情况?也许在maven的POM文件中包含一些东西?

最诚挚的问候,

圣地亚哥.-

1 个答案:

答案 0 :(得分:2)

图像所在的Maven源/资源路径中的位置是什么?

我怀疑

/src/main/resources/com/foo/bar/frame/images

如果您的POM设置为生成类似JAR的包,则unzip -l target.jar会向您显示图像是否确实位于正确位置的JAR(事物)中。这将表明它是否是Maven问题(通过不包括包中的图像)或运行时问题(通过不从正确的位置加载图像)。

指出放置图像的位置,确保图像在包中,并指明在运行时如何指定图像位置。