Null pointer Exception sur getGraphics()

mon application ressemble à ça, je suis une exception de pointeur null à la méthode draw (), pour être exact, à g de la.drawImage(img, 0, 0, null)

package com.ochs.game;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Game extends JPanel implements Runnable{
private static final long serialVersionUID = 8229934361462702491L;
public static final int WIDTH = 320;
public static final int HEIGHT = 240;
public static final int SCALE = 2;
public boolean isRunning;
private BufferedImage img;
private Graphics2D g2d;
public Game() {
setFocusable(true);
requestFocus();
start();
}
public void start() {
isRunning = true;
new Thread(this).start();
}
public void stop() {
isRunning = false;
}
public void run() {
long start;
init();
while(isRunning) {
start = System.currentTimeMillis();
update();
render();
draw();
try {
Thread.sleep(5 - (System.currentTimeMillis() - start));
} catch (Exception e) {
}
}
}
public void init() {
img = new BufferedImage(WIDTH*SCALE, HEIGHT*SCALE, BufferedImage.TYPE_INT_RGB);
g2d = (Graphics2D) img.getGraphics();
}
public void update() {
}
public void render() {
}
public void draw() {
Graphics g = getGraphics();
g.drawImage(img, 0, 0, null);    //<<<<< getting null pointer here!
}
public static void main(String[] args) {
Dimension size = new Dimension(WIDTH*SCALE, HEIGHT*SCALE);
Game gameComponent = new Game();
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setSize(size);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(gameComponent);
}
}

Maintenant, ma question est: pourquoi ai-je une exception de pointeur null lorsque l'on essaie de tirer le bufferedimage appelé img? J'ai aussi essayé juste à la sortie d'une chaîne de caractères en utilisant cordon de serrage() mais cela donne juste moi-même une exception nullpointerexception, trop.
est-ce quelqu'un a un conseil?

Que diriez-y compris l'exception? Ce qui est nul? g? img?
Je suppose que votre objet graphique est nulle puisque vous commencez à dessiner l'image (à partir de ce thread a commencé dans le constructeur) avant d'ajouter la composante du cadre.

OriginalL'auteur user2410644 | 2013-08-11