我有一个简单的可执行Jar文件.我该如何为这个文件设置图标?在我的情况下,我使用标准的Jar图标,我想改变.

我正在尝试为Jar文件设置图标图像:
setIconImage(new ImageIcon(getClass().getResource("logo.png")).getImage());
Run Code Online (Sandbox Code Playgroud)
在Mac OS X 10.7.4中运行时出现以下错误:
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextGetCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextSetBaseCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextGetCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextSetBaseCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextGetCTM: invalid context 0x0
Jun 28 15:21:40 (my dhcp) java[73383] <Error>: CGContextSetBaseCTM: invalid context 0x0
Run Code Online (Sandbox Code Playgroud) 在NetBeans上运行时,以下代码可以正常工作.
this.getFrame().setIconImage(Toolkit.getDefaultToolkit().getImage("PlagiaLyzerIcon.png"));
Run Code Online (Sandbox Code Playgroud)
但是,一旦它被内置到Jar文件中,图标就消失了.
任何人都知道这是什么问题?我意识到我要把图标图像放在根目录下,然而,在编译成JAR后,图标就消失了.
谢谢你的帮助 ...
大家好,这个问题用以下代码解决了,
this.getFrame().setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("plagialyzer/resources/PlagiaLyzerIcon.png")));
Run Code Online (Sandbox Code Playgroud)
它一旦编译成jar文件就可以工作.