我在定义像这样的URI时尝试添加一个int和string:
Line 38 Icon iconpic = new ImageIcon(getClass().getResource("img/CM"+a+".png"));
Line 39 JLabel pic = new JLabel(iconpic);
其中" a"是一个int。
但是我得到了这个:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at thebutton.CM.<init>(CM.java:38)
我也试过这个:
String c = Integer.toString(a);
String d = "img/CM";
String e = ".png";
String g = d+a+e;
System.out.println(g);
System.out.println(getClass().getResource(g));
Icon iconpic = new ImageIcon(getClass().getResource(g));
JLabel pic = new JLabel(iconpic);
得到了这个
img/CM0.png
null
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
前两行是.println的输出 这是NetBeans中项目的图片:
有没有办法解决这个问题?
答案 0 :(得分:0)
这意味着getClass().getResource("img/CM"+a+".png")
可能会返回null
。
尝试调试getClass().getResource("img/CM"+a+".png")
,例如放置System.out.println(getClass().getResource("img/CM"+a+".png"))
并查看值。
请检查路径是否正确。
以下是Javadocs的链接。
在img
文件夹下创建一个source
文件夹,并将图像命名为"CM"+a+".png"
评估范围内的文件。
答案 1 :(得分:0)
在Projects
标签中右键单击您的项目名称,然后选择new
- &gt; Folder
。使用"images"
现在转到Files
标签并将图片移至此文件夹
现在使用
加载图片new ImageIcon("images/yourImageName.png")
答案 2 :(得分:0)
不要让Java查找不存在的图像; CM0.png不存在!
对atamanroman和pshemo的信用