我想将图标设置为我的JFrame。我做到以下几点:将图像添加到罐子
Image icon = Toolkit.getDefaultToolkit().getImage("src/images/icon.jpg");
this.setIconImage(icon);
当我运行从NetBeans中的代码它工作正常,但是当我尝试从jar文件的代码,图像不会在我的JFrame所示。我试图加载图像作为资源:
this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/src/images/icon.jpg")));
但是当我运行这段代码失败与NullPointerException
Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:113)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
我怎么能这样做的工作?
编辑: 感谢所有, 问题是由指定的图像解决作为
Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("images/icon.JPG"))
至于它似乎相当怪异,而且会更好,如果它像
this.setIconImage(new ImageIcon(pathToIcon).getImage());
什么是你的JAR文件的结构,即在JAR文件到底在哪图像放在哪里? – 2011-03-30 10:53:11