Problem mit repaint() in run()

yanse40

Mitglied
Guten Tag, ich bin Java Anfänger und bin gerade dabei eine Grafik zu animieren. Das funktioniert auch, aber beim Aufruf der repaint(); in run(); kommt eine Fehlermeldung. Kann mir Jemand helfen?
Java:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JPanel;

//package datenbank;

public class Monster extends JPanel implements Runnable {


  private int xCoord;
  private int yCoord;
  private static SpielFeldGUI sfgui;
  private BufferedImage monster;
  public Monster(int lvl, int x, int y){
    dasMonsterLeben = lvl*10;
    dieGeschwindigkeit = 1;
    dasBekommeneGeld = lvl*5;
    dieBekommenenPunkte = lvl;
    derMonsterIndex = derMonsterIndex+1;
    xCoord = x;
    yCoord = y;
    Thread t = new Thread(this);
    t.start();
    try {
		monster = ImageIO.read(new File("/home/yannic/Dokumente/Schule/Tower defense/tower defense/src/monster.png"));
	} catch (IOException e) {
		
		e.printStackTrace();
	}
    }
  
  public void bewegen(int x){
    Steuerung.monster[0].xCoord=x;
  }
  
  public void setCoord(int x, int y){
    xCoord = x;
    yCoord = y;
  }
  public void paintComponent(Graphics g) {        
      super.paintComponent(g);
      g.drawImage(monster,xCoord,yCoord,null);
  }
  
  public void run() {
      while(xCoord<400){
    	 ;
    	  xCoord++;
    	  try {
             
              
            sfgui.repaint(); //dieser Aufruf veranlässt Fehler!
              Thread.sleep(150);
          } catch (InterruptedException ex) {
             
          }}
      
  }
}
Folgender Fehler wird ausgeworfen:
Exception in thread "Thread-1" java.lang.NullPointerException
at Monster.run(Monster.java:61)
at java.lang.Thread.run(Thread.java:701)
Vielen Dank
 

Zurück
Oben