首页 新闻 会员 周边

idea报错获取本地图片URL报空指针异常【求大佬指点】

0
[待解决问题]

Cannot invoke "java.net.URL.toExternalForm()" because "location" is null

最近在学习java GUI,在idea上写了一个简单的GUI程序,刚开始可以正常的读取图片的URL,但是在之后重新编写程序时发现一直报一个空指针异常,即使之后的代码与刚开始的一样。具体的代码如下:

public class StartGame extends JFrame{
public StartGame(){
Container container = new Container();
URL url = StartGame.class.getResource("header.jpg");
ImageIcon header = new ImageIcon(url);
JButton button = new JButton();
button.setIcon(header);
container.add(button);
container.setVisible(true);
}
public static void main(String[] args) {
new StartGame();
}

}

文件位置:

header.jpg图片与类StartGame在同一目录下。

tlocd的主页 tlocd | 菜鸟二级 | 园豆:202
提问于:2022-10-11 23:06
< >
分享
所有回答(2)
0

打断点调试下

ycyzharry | 园豆:25663 (高人七级) | 2022-10-25 00:46

调试过,只要到了路径这一行就会报错。

支持(0) 反对(0) tlocd | 园豆:202 (菜鸟二级) | 2022-10-28 17:15
0

你应当使用./header.jpg或者取绝对路径

景伟·郭 | 园豆:197 (初学一级) | 2022-10-26 15:16

绝对路径我试过,还是会报错;前面这种我刚刚试了一下,同样也有问题。
在另外一个平台上有个大佬给出了这样的解决办法是可行的:
ImageIcon header = new ImageIcon("./src/main/java/header.jpg")
但是当我尝试把URL url = StartGame.class.getResource("header.jpg")的路径改为上面那个路径时同样还会报错(一个菜鸟如果犯了上面低级错误请指出)

支持(0) 反对(0) tlocd | 园豆:202 (菜鸟二级) | 2022-10-28 17:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册