Der Fehler "java.lang.NullPointerExeption:null (in sum.kern.Buntstift)" trifft bei mir auf, Hilfe!

...komplette Frage anzeigen

2 Antworten

wahrscheinlich ihrgendein logischer Fehler in deiner gui. Aber ohne genauere Angaben kann ich dir leider nicht weiterhelfen. Ein NullPointerExeption kann alles mögliche sein. Ich kenne mich mit Blue J nicht aus, aber es gibt sicher einen Debug-Mode. Damit müsstest du die Fehlerquelle relativ leicht finden können.

welche angaben wären denn nötig? :)

einen Debug Mode?

0
@DerMarius97

1, Teile des Codes oder ausführlichere Fehlermeldungen. Wie willst du dein Dartspiel überhaubt realisieren? Java 2D ?

2, Wie gesagt ich kanne mich nicht mir BlueJ aus, aber in anderen Entwicklungsumgebungen (ich kann dir Eclipce - http://www.eclipse.org/ - empfehlen) gibt es einen Modus in dem du "Stoppunkte" setzen kannst und dann den Wert von Variablen überprüfen, etc.

0
@Bastinik

das problem es gibt keine ausführlicheren Fehlermeldungen, das ist ja auch mein Problem :/ Ja, ich realisiere es in Java 2D, in einer einfacheren Version funktioniert auch noch alles, erst meine erweiterte Version weist diesen Fehler auf

zu 2. ich kann mir leider nicht aussuchen mit welchem Programm ich arbeite, das bestimmt der Lehrer ...

0

Könntest du mal den code Posten ?

kann ich gern tun, jedoch besteht mein Programm aus mein 3 Klassen ...

Hauptprogramm :

do {

//Startzustand

        Dartscheibe.zeichneDartscheibe();
        Pfeil.bewegeBis(50,25);
        Pfeil.zeichnePfeil();

        clock.warte(1500); 

        //Spielen
        Pfeil.FreifallPfeil();
        Pfeil.drehePfeil();
        Pfeil.fliegPfeil();
        Pfeil.TrefferFehlwurf();

        //Erneut spielen
        do
        {
            //tue nichts
        }
        while(!tast.wurdeGedrueckt());
        tast.weiter();

        //Vorbereitung Neustart
        Pfeil.dreheBis(0);
        Pfeil.bewegeBis(50,25);
        screen.loescheAlles();
    } while(!maus.doppelKlick());

Die Unterklasse Dartscheibe : public Dartscheibe() { super(); }

// Dienste
public void zeichneDartscheibe()
{
    this.bewegeBis(875,200);
    this.runter();
    this.setzeFarbe(Farbe.BLAU);
    this.setzeFuellmuster(Muster.GEFUELLT);
    this.zeichneKreis(55);        
    this.setzeFarbe(Farbe.GELB);
    this.setzeFuellmuster(Muster.GEFUELLT);
    this.zeichneKreis(42.5);
    this.setzeFarbe(Farbe.BLAU);
    this.setzeFuellmuster(Muster.GEFUELLT);
    this.zeichneKreis(30);
    this.setzeFarbe(Farbe.GELB);
    this.setzeFuellmuster(Muster.GEFUELLT);
    this.zeichneKreis(17.5);
    this.hoch();
    this.setzeFarbe(0);
}

}

und der Pfeil :

public void zeichnePfeil()
{        
    this.setzeLinienBreite(2);
    this.normal();
    this.runter();
    this.bewegeUm(50);
    this.setzeFarbe(Farbe.ROT);
    this.setzeFuellmuster(Muster.GEFUELLT);
    this.zeichneKreis(5);
    this.setzeFarbe(0);
    this.hoch();
}

public void loeschePfeil()
{
    this.radiere();
    this.runter();
    this.setzeFuellmuster(Muster.GEFUELLT);
    this.zeichneKreis(5);
    this.bewegeUm(-50);
    this.hoch();
}

public void FreifallPfeil()
{
    do
    {
        if((this.vPosition() > 400))
        {
            clock.warte(25);
            loeschePfeil();
            this.bewegeBis(50,25);
            zeichnePfeil();
        }
        else
        {
            clock.warte(25);
            loeschePfeil();
            this.dreheUm(-90);
            this.bewegeUm(2.5);
            this.dreheUm(90);
            zeichnePfeil();
        }
    } while (!maus.istGedrueckt());
}

public void drehePfeil()
{
    do
    {
        clock.warte(30);    
        loeschePfeil();
        this.dreheUm(-5);                
        zeichnePfeil();           
    }while(maus.istGedrueckt());
}

public void fliegPfeil()
{
    do
    {
        clock.warte(15);

        loeschePfeil();
        Dartscheibe.zeichneDartscheibe();
        this.bewegeUm(5);
        zeichnePfeil();

        // Flugbahn des Pfeils beeinflussen :
        if(tast.wurdeGedrueckt())
        {
            switch (tast.zeichen())
            {
                case 'l' : case 'L' :
                clock.warte(10);
                loeschePfeil();
                Dartscheibe.zeichneDartscheibe();

                this.normal();
                this.dreheUm(8);
                this.bewegeUm(5);
                zeichnePfeil();
                break;    

                case 'r' : case 'R' :
                clock.warte(10);
                loeschePfeil();
                Dartscheibe.zeichneDartscheibe();

                this.normal();
                this.dreheUm(-8);
                this.bewegeUm(5);
                zeichnePfeil();
            }tast.weiter();
        } 
    }while(this.hPosition() < 871.5);
}

public void TrefferFehlwurf ()
{
    if((this.hPosition() > 820) && (this.hPosition() < 930)
    &&((this.vPosition() > 150) && (this.vPosition() < 250)))

    {
        clock.warte(50);
        this.bewegeBis(400,200);
        this.setzeSchriftGroesse(50);
        this.runter();
        this.schreibeText("Treffer");
    }
    else
    {
        clock.warte(50);
        this.bewegeBis(380,200);
        this.setzeSchriftGroesse(50);
        this.runter();
        this.schreibeText("Fehlwurf");
    }
}
0
@DerMarius97

Ich kenne diese Stift dings zwar nicht , aber brauchst du nicht eine. Instanz der dartscheibe ?

0

Was möchtest Du wissen?