Java 这是为什么;新建ImageIcon(getClass().getResource(“files/icon.png”).getImage()&引用;让我的程序隐形?

Java 这是为什么;新建ImageIcon(getClass().getResource(“files/icon.png”).getImage()&引用;让我的程序隐形?,java,eclipse,swing,executable,invisible,Java,Eclipse,Swing,Executable,Invisible,这是我写的 Image icon = new ImageIcon(getClass().getResource("files/icon.png")).getImage(); 在JFrame扩展类中,然后使用 this.setIconImage(icon); 我是这样做的,不需要简单地使用路径,因为如果我将项目导出为可执行文件.jar,图标就会消失。(如图所示:) 现在出现的问题是,可执行文件.jar按照它应该的方式工作(它创建一个文件夹以及一个.xml文件并写入其中),但没有生成一个可见的

这是我写的

 Image icon = new ImageIcon(getClass().getResource("files/icon.png")).getImage();
在JFrame扩展类中,然后使用

this.setIconImage(icon);
我是这样做的,不需要简单地使用路径,因为如果我将项目导出为可执行文件.jar,图标就会消失。(如图所示:)

现在出现的问题是,可执行文件.jar按照它应该的方式工作(它创建一个文件夹以及一个.xml文件并写入其中),但没有生成一个可见的框架。 但是,如果我在eclipse中运行该程序,一切正常,我看到了框架。 我发现,问题一定是在创建ImageIcon时,因为如果我运行

getClass().getResource("files/icon.png");
一切正常。 文件也在它的位置,所以这不应该是错误的


希望你们能帮助我并提前感谢。

好了,伙计们,都是我的错。。。
@你不是又有了正确的线索吗。。。这是路径“files/icon.png”->“files/icon.png”

您使用的路径是相对的还是绝对的?可能是它抛出了一个
NullPointerException
,因为图像没有随路径一起导出Jar@Blip相对于我在(RTFrame,)中调用方法的类,@如果图像可以在导出文件的正确路径下找到,那么我不这么认为:/so,在代码中添加跟踪。打印
getClass()
的值。打印
getClass().getResource(“files/icon.png”)
的值。打印
新图像图标(getClass().getResource(“files/icon.png”))的值
。在控制台中查找异常堆栈跟踪。看看
jar-tvf-yourjar.jar
给出了什么。常用的调试工具。如果你对我们说的只是画面没有出现,你不相信我们所怀疑的是真的,我们就无能为力了。证明我们错了。@JBNizet我早该想到这一点。。。很抱歉结果:现在的问题显然是资源,我使用“.getResource”获取,因为它是空的。不幸的是,我不知道如何解决这个问题!无论如何,谢谢你到现在为止对我的帮助!我不知道你为什么在这里回答。如果答案是这么简单,一句评论就足够了