我正在为学校制作一个小程序,但每次运行时我都会收到此错误:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at Creatieve.Opracht.Main.main(Main.java:14)
我编写的langugae是Java,在有人评论之前,这不是计算机科学项目,所以我不能问老师。
这是我写过的代码:
package Creatieve.Opracht;
import java.awt.*;
import javax.swing.*;
public class Main {
static JFrame frame;
static Puzzel puzzel;
public static void main(String[] args){
frame = new JFrame("CKV Creatieve Oprdacht 2.0");
frame.setSize(900, 900); //Lengte en breedte van de foto
puzzel = new Puzzel(new ImageIcon(Main.class.getResource("/image.png")).getImage());
frame.add(puzzel);
frame.setVisible(true);
}
}
还有这个:
package Creatieve.Opracht;
import java.awt.*;
import javax.swing.*;
public class Puzzel extends JPanel{
Onderdeel[] onderdelen;
Image img;
public Puzzel(Image img){
this.img = img;
onderdelen = new Onderdeel[9];
int onderdeelGrootte = img.getWidth(null)/3;
for(int i = 0; i != onderdelen.length; i++){
onderdelen[i] = new Onderdeel(this, i, onderdeelGrootte);
}
}
public void paint(Graphics g){
super.paint(g);
for (int i = 0; i != onderdelen.length; i++){
onderdelen[i].paint(g);
}
}
}
如果你们中的一个人能告诉我如何解决这个问题,那真是太棒了。
提前谢谢!
答案 0 :(得分:1)
当您访问图像时,代码中的此行出现异常,
new ImageIcon(Main.class.getResource("/image.png")).getImage()
。
您必须检查此位置是否有/image.png
图像,如果可能,请使用文件夹的限定路径名来解决问题。
答案 1 :(得分:1)
资源文件/image.png
不存在。所以Main.class.getResource("/image.png")
返回null。因此,使用null
创建ImageIcon对象时会生成NullPointerException
答案 2 :(得分:0)
解决这个问题..... 只需将图像复制到/ your_Drive_in_which_workspace_folder_is_present / workspace / projectname / bin / projectname /
现在这句话应该是这样的:
Icon IconObject = new ImageIcon(getClass()。getResource(&#34; Image_name.png&#34;));