从Java中的Graphics.drawImage获取NullPointerException

从Java中的Graphics.drawImage获取NullPointerException,java,graphics,nullpointerexception,drawimage,Java,Graphics,Nullpointerexception,Drawimage,在这个示例的最后一行调用drawImage()时,我得到了一个NullPointerException,尽管我没有给它一个null变量。我们将不胜感激 BufferedImage image = null; System.out.println(image); try { image = ImageIO.read(getClass().getResource("/gameobjects/diaz.jpg")); System.out.p

在这个示例的最后一行调用drawImage()时,我得到了一个NullPointerException,尽管我没有给它一个null变量。我们将不胜感激

    BufferedImage image = null;
    System.out.println(image);

    try {

        image = ImageIO.read(getClass().getResource("/gameobjects/diaz.jpg"));
        System.out.println("eter");

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    System.out.println(image);
    Graphics g = mainPanel.getGraphics();
    g.drawImage(image, 50, 50, null);
和堆栈跟踪:

null
eter
BufferedImage@6a5f6303: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@1c5d9084 transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 384 height = 216 #numDataElements 3 dataOff[0] = 2
Exception in thread "main" java.lang.NullPointerException
    at Main.<init>(Main.java:41)
    at Main.main(Main.java:17)
null
计量器
BufferedImage@6a5f6303:type=5 ColorModel:#pixelBits=24 numComponents=3 color space=java.awt.color.ICC_ColorSpace@1c5d9084透明度=1有alpha=false isAlphaPre=false ByteInterlevedRaster:width=384 height=216 35; numDataElements 3 dataOff[0]=2
线程“main”java.lang.NullPointerException中出现异常
在Main(Main.java:41)
Main.Main(Main.java:17)

我认为您需要将
“/gameobjects/diaz.jpg”
更改为
“gameobjects/diaz.jpg”
而不带前导“/”。如果是这样,那是因为相对资源路径与绝对资源路径相比。“/”指定绝对,因此它正在寻找C:/game…(在windows上)请指出哪一行是
Main.java
的第41行,而不是/game…

请指出。我们需要查看您的Main方法。我认为是图形“g”为null——异常不是来自drawImage方法,而是来自您的方法。请测试“g”是否为null。
getGraphics
可能返回
null
。如果是,请参阅第4行1是我给出的示例中的最后一行。这不应该是问题的原因。如果它导致
image
null
,则可能会导致
NullPointerException
内的某个地方出现
drawImage
,而不是在调用
drawImage
的行上。另外,你对提问者做出了毫无根据的假设的目录设置和环境。