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?
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
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) {
}}
}
}
Exception in thread "Thread-1" java.lang.NullPointerException
at Monster.run(Monster.java:61)
at java.lang.Thread.run(Thread.java:701)
Vielen Dank