Hallo Community!
Ich programmiere ein Spiel mit Java und habe folgendes Problem.
Ich habe 2 Klassen, Main und GoAnim. In der Main Klasse habe ich JFrame, labels, buttons usw. initialisiert und für den ersten Spieler habe ich ein Label(PlayerOne) erzeugt. Nun rufe ich die Methode ChangePos1(...Parameter...) in der GoAnim Klasse auf, lasse das Programm etwas ausrechnen und anschliessend rufe ich die Methode setPosition1(...Parameter...) in der Main Klasse auf, kurz danach bekomme ich java.lang.NullPointerException Fehler. Hier ist mein Quelltext:
Die Fehlermeldung ist :
Ich verstehe nicht warum ich NullPointer Fehler bekomme. Ich habe in der Methode
setPosition1(...Parameter...) die übergegebenen Parameter ausgegeben lassen und
die Werte waren richtig und "null" war nicht dabei.
Wie kann ich diesen Fehler beheben ?
Ich bedanke mich im Voraus.
Ich programmiere ein Spiel mit Java und habe folgendes Problem.
Ich habe 2 Klassen, Main und GoAnim. In der Main Klasse habe ich JFrame, labels, buttons usw. initialisiert und für den ersten Spieler habe ich ein Label(PlayerOne) erzeugt. Nun rufe ich die Methode ChangePos1(...Parameter...) in der GoAnim Klasse auf, lasse das Programm etwas ausrechnen und anschliessend rufe ich die Methode setPosition1(...Parameter...) in der Main Klasse auf, kurz danach bekomme ich java.lang.NullPointerException Fehler. Hier ist mein Quelltext:
Java:
public class Main extends javax.swing.JFrame{
ButtonClickEvent(){ // ich klicke auf ein Button und passiert folgendes
GoAnim objectGoAnim = new GoAnim();
//X,Y sind Koordinaten, Roll und Pos sind beliebige int Werte
objectGoAnim.ChangePos1(int Roll, int Pos, int X, int Y);
}
.............. //Hier sind andere Methoden, die unwichtig sind
//Diese Methode werde ich spaeter aufrufen
public void setPosition1(String PosName1, int PosNumber, int X, int Y){
Position1 = PosName1; //Name der Position
PosNumber1 = PosNumber; //wird in GoAnim ausgerechnet
//PlayerOne ist ein Label, neue Y-Koordinate wird berechnet
PlayerOne.setLocation(X,Y);
}
}
public class GoAnim extends Main{
Main objectMain = new Main();
public void ChangePos1(int Roll, int Pos, int x, int y){
int newPos = Roll + Pos; //rechne neue Position
y -= 20; //Y Koordinate wird um 20 verringert
objectMain.setPosition1("PositionX", newPos, x, y);
}
}
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at GoAnim.ChangePos1(GoAnim.java:60)
at Main$33.actionPerformed(Main.java:651)
Ich verstehe nicht warum ich NullPointer Fehler bekomme. Ich habe in der Methode
setPosition1(...Parameter...) die übergegebenen Parameter ausgegeben lassen und
die Werte waren richtig und "null" war nicht dabei.
Wie kann ich diesen Fehler beheben ?
Ich bedanke mich im Voraus.
Zuletzt bearbeitet von einem Moderator: