如何更改 Java 中的默认应用程序图标?
我正在使用 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);
包含此代码的类位于 com.xyz 包中,如果这有什么区别的话。 该类还扩展了 JFrame。 此代码在第一行引发 MalformedUrlException。
有人有有效的解决方案吗?
I'm using NetBeans, trying to change the familiar Java coffee cup icon to a png file that I have saved in a resources directory in the jar file. I've found many different web pages that claim they have a solution, but so far none of them work.
Here's what I have at the moment (leaving out the try-catch block):
URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);
The class that contains this code is in the com.xyz package, if that makes any difference. That class also extends JFrame. This code is throwing a MalformedUrlException on the first line.
Anyone have a solution that works?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
路径前面可能需要也可能不需要“/”。
May or may not require a '/' at the front of the path.
您可以简单地转到Netbeans,在设计视图中,转到
JFrame
属性,选择图标图像属性,选择使用“自定义代码”设置表单的iconImage
属性,然后在Form.SetIconImage()
函数将以下代码:不要忘记
在源代码中导入:!
You can simply go Netbeans, in the design view, go to
JFrame
property, choose icon image property, Choose Set Form'siconImage
property using: "Custom code" and then in theForm.SetIconImage()
function put the following code:Do not forget to import:
in the source code!
或者将图像放置在与类相关的位置,并且您不需要字符串本身中的所有包/路径信息。
这样,如果将类移动到不同的包,则不必查找所有字符串,只需移动类及其资源目录即可。
Or place the image in a location relative to a class and you don't need all that package/path info in the string itself.
That way if you move the class to a different package, you dont have to find all the strings, you just move the class and its resources directory.
尝试此写后
Try This write after
这是我在 netbeans 的 GUI 中使用的,它运行得很好
This is what I used in the GUI in netbeans and it worked perfectly
在扩展
javax.swing.JFrame
的类中,使用方法setIconImage
。In a class that extends a
javax.swing.JFrame
use methodsetIconImage
.您应该定义各种大小的图标,Windows 和 Linux 发行版(例如 Ubuntu)在任务栏和 Alt-Tab 中使用不同的图标。
You should define icons of various size, Windows and Linux distros like Ubuntu use different icons in Taskbar and Alt-Tab.
您可以尝试这个,效果很好:
You can try this one, it works just fine :
内部框架构造函数
inside frame constructor
例子:
Example: