0

这是我用来在 J3D Canvas3D 上绘制图像的代码:

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

但是,每当我运行代码时,我都会在 g.drawImage() 行得到 NullPointerException。我不知道是什么导致了异常,我们将不胜感激。

4

2 回答 2

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);
于 2013-02-17T18:27:42.260 回答
0

尝试这样的事情:

图形 g = Canvas.getGraphics();

如果(g==null){

System.out.println("没有从 getGraphics 方法接收到任何 Graphics 对象。");

}

ImageIcon icon = new ImageIcon("back/loadingscreen.png");

如果(图标==空){

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

}

于 2013-02-17T18:41:59.767 回答