0

我正在 netbeans 中开发一个 java 应用程序,以保存图像图标,我应该创建一个新的图像文件夹还是已经创建了一个图像文件夹?

我在项目中创建了一个图像文件夹,将图像图标设置为 JFrame,

URL iconURL = this.getClass().getResource("images/images.jpg");

    ImageIcon icon = new ImageIcon(iconURL);
    frame.setIconImage(icon.getImage());

错误

Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:115)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:125)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:263)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)
4

2 回答 2

3

无论您是否创建了目录,我都怀疑这一点

getResource("images\\images.jpg");

是一个问题,您应该将资源路径指定为images/images.jpg(即正斜杠,无论平台如何。斜杠是资源分隔符,不一定指文件系统)

如果没有明确的请求,我不希望 NetBeans 为您做任何事情,因此您应该创建所需的任何文件夹/资源。

于 2013-03-27T12:57:41.627 回答
0

这是 Netbeans 遇到的问题之一,一旦您将图像插入 GUI,它总是会尝试从您放置图像的第一个位置查找图像。我建议创建一个图像包以保持其清洁并尽量不要从包中移动图像。

要解决您现在遇到的问题,您可以将图像插入到上一阶段,我相信您的图像与您的课程在同一个包中。

或者试试这个方法

setIcon();

您可以setIcon 像下面一样创建

public void setIcon() {
    setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/images.jpg")));
        }
    }
于 2013-03-27T13:21:37.723 回答