我正在使用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。
谁有一个有效的解决方案?
发布于 2008-10-16 19:01:24
java.net.URL url = ClassLoader.getSystemResource("com/xyz/resources/camera.png");
路径的前面可能需要/,也可能不需要。
发布于 2013-01-16 17:41:28
您可以简单地转到Netbeans,在设计视图中,转到JFrame
属性,选择图标图像属性,使用“自定义代码”选择设置表单的iconImage
属性,然后在Form.SetIconImage()
函数中放入以下代码:
Toolkit.getDefaultToolkit().getImage(name_of_your_JFrame.class.getResource("image.png"))
别忘了导入:
import java.awt.Toolkit;
在源代码中!
发布于 2008-10-16 20:37:30
或者将图像放在相对于类的位置,而不需要字符串本身中的所有包/路径信息。
com.xyz.SomeClassInThisPackage.class.getResource( "resources/camera.png" );
这样,如果您将类移动到不同的包中,您不必查找所有字符串,只需移动类及其资源目录即可。
https://stackoverflow.com/questions/209812
复制相似问题