为什么我的JFrame图标不会从默认的java图标改变?
问题描述:
我已经尝试了几个解决方案来改变我的应用程序的图标,但都没有工作!当我执行以下操作时,我不会收到任何错误,但它仍然不会改变!?请,有人可以告诉我哪里出错了,因为我没有看到任何错误,我也没有收到任何错误!为什么我的JFrame图标不会从默认的java图标改变?
我甚至确定我想使用的图标是20x20像素的图标,因为我读的是某个图标的最大尺寸。
frame.setIconImage(
new ImageIcon(getClass().getResource("/images/bfc_icon.png")).getImage());
为什么这不起作用?任何帮助将不胜感激!
编辑:
我测试文件是否存在,证明它确实,但它仍然没有被设置为应用程序图标......这是为什么?
URL url = getClass().getResource("src/images/bfc_icon.png");
if (url == null)
System.out.println("Could not find image!");
else
frame.setIconImage(new ImageIcon(url).getImage());
答
private void formWindowOpened(java.awt.event.WindowEvent evt) {
try {
// TODO add your handling code here:
Image img=ImageIO.read(getClass().getResource("ur path"));
this.setIconImage(img);
} catch (IOException ex) {
}
这将是你使用的是什么操作系统工作
? –
没有真正深入那里,但似乎如果图片无法加载,它只会返回null,而不是在构造函数中抛出错误。你可以尝试检查资源是否首先存在,例如通过测试'getResourceAsStream(...)!= null' –
@FlorianSchaetz是的,之前它曾经给我,它是空的,但现在用这行代码我是使用它不是给出一个错误,但它实际上并没有改变图标。 – Maiwand