如何更改Java中的默认应用程序图标?

Bil*_*ard 62 java icons

我正在使用NetBeans,尝试将熟悉的Java咖啡杯图标更改为我保存在jar文件的资源目录中的png文件.我发现许多不同的网页声称他们有解决方案,但到目前为止,他们都没有工作.

这是我现在所拥有的(省略try-catch块):

URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);
Run Code Online (Sandbox Code Playgroud)

包含此代码的类在com.xyz包中,如果这有任何区别.该类还扩展了JFrame.此代码在第一行抛出MalformedUrlException.

有人有解决方案吗?

Jee*_*Bee 72

java.net.URL url = ClassLoader.getSystemResource("com/xyz/resources/camera.png");
Run Code Online (Sandbox Code Playgroud)

在路径的前面可能需要或者可能不需要'/'.

  • 谢谢.这是我们需要StackOverflow的一个完美示例.在我发布这个问题并在5分钟内得到答案之前,我通过谷歌搜索发现了100种不同的"解决方案". (37认同)
  • 将"/"放在前面是非常安全的.此外,它允许您使用相同的字符串并执行getResourceAsStream,这有时更有用. (5认同)

小智 13

你可以简单地去Netbeans,在设计视图中,转到JFrame属性,选择图标图像属性,选择Set Form的iconImage属性使用:"自定义代码"然后在Form.SetIconImage()函数中输入以下代码:

Toolkit.getDefaultToolkit().getImage(name_of_your_JFrame.class.getResource("image.png"))
Run Code Online (Sandbox Code Playgroud)

别忘了导入:

import java.awt.Toolkit;
Run Code Online (Sandbox Code Playgroud)

在源代码中!

  • 这个答案是正确的,因为考虑Netbeans IDE! (2认同)