2013-02-17 178 views
0

这是我使用上绘制一个J3D Canvas3D的图像的代码:空指针异常

Graphics g = Canvas.getGraphics(); //Canvas is the Canvas3D 
    g.drawImage(new ImageIcon("back/loadingscreen.png").getImage(), 
      0, 0, Canvas); 
然而

每当我运行代码我在g线得到一个NullPointerException .drawImage()。我不知道是什么导致例外,帮助将不胜感激。

+2

你'getGraphics'方法返回'null'。在这两行之间打印'g'的值以查看它打印的内容。 – 2013-02-17 18:24:40

回答

1

你的ImageIcon为空 请使用此加载您的ImageIcon正确

InputStream stream = this.getClass().getClassLoader().getResourceAsStream("back/loadingscreen.png"); 
    BufferedImage bufferedImage=ImageIO.read(stream); 
    ImageIcon icon= new ImageIcon(bufferedImage); 

    Graphics g = Canvas.getGraphics(); 
     g.drawImage(icon.getImage(), 0, 0, Canvas); 
+0

它的作品谢谢! – hubbardh 2013-02-17 18:32:31

0

尝试是这样的:

图形G = Canvas.getGraphics();

如果(克== NULL){

的System.out.println( “未收到任何图形从方法的getGraphics对象。”);

}

ImageIcon的图标=新的ImageIcon( “回/ loadingscreen.png”);

如果(图标== NULL){

System.out.println("The icon is not received meaning the URL path (back/laodingscreen.png) is probably wrong."); 

}