这是主要课程
public class Testing extends JFrame{
private static final long serialVersionUID = 1L;
public Testing(){
setContentPane(new Canvas());
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args0){
new Testing();
}
}
并且错误发生在Canvas类的drawImage方法中。我制作了一个 res 文件夹,我将图像放在其中并将其用作源文件夹。
public class Canvas extends JPanel{
Graphics g;
Graphics2D g2 = (Graphics2D)g;
BufferedImage image;
private static final long serialVersionUID = 1L;
public Canvas(){
setPreferredSize(new Dimension(800,600));
loadImage("/space.png");
draw(g2);
}
public void draw(Graphics2D g2){
g2.drawImage(image, 0,0,this);
}
public void loadImage(String path){
try {
image = ImageIO.read(
getClass().getResourceAsStream(path)
);
}
catch(Exception e) {
e.printStackTrace();
System.out.println("image loading error");
}
}
}
感谢您的帮助。
以及我运行程序时遇到的错误。
Exception in thread "main" java.lang.NullPointerException
at Canvas.draw(Canvas.java:21)
at Canvas.<init>(Canvas.java:18)
at Testing.<init>(Testing.java:11)
at Testing.main(Testing.java:17)