我想问一下我的项目中的一个问题:我有一个扩展JFrame
的类,我想使用以下代码将该框架上的Java图标更改为另一个图标:
setIconImage(new ImageIcon(getClass().getResource("icon.PNG")).getImage());
我使用的是NetBeans
,当我从NetBeans运行我的项目时,它会正常运行,但当我从jar运行它时,它不会运行。然后,当我删除该代码时,我的jar会正常运行,框架中有Java图标。
有人能告诉我那个代码可能出了什么问题吗?
运行jar文件时,您无法使用访问文件
getClass().getResource("...")
您应该使用:
getClass().getResourceAsStream("...")
请参阅:通过getClass()加载文件。getResource()