Fredde: getGraphics: cannot find Symbol

Hi,

ich habe eine kleine Animation mit hilfe einer Stift-Klasse und einer Ball-Klasse geschrieben.

wenn ich eine Instanz der Ball-Klasse erzeugen will muss ich als Parameter den Frame übergeben auf dem gezeichnet werden soll.

ich habe also im Hauptprogramm ungefähr sowas:

Ball ball1 = new Ball( /* Paramater */ this);

und in der Klasse sieht dann der Konstruktor etwa so aus:

public Ball( /* Parameter */ Frame pFrame){

hStift = new Stift(getGraphics(pFrame)); //Hier ist der Fehler!
}

was habe ich falsch gemacht??
Die einzige Übergabe für den Stift muss nur das Frame sein, das auch erkannt wird. Also bei der Fehlerangabe steht:

cannot find symbol
symbol: getGraphics(java.awt.Frame)

Danke schonmal

Fredde

  1. hallo,

    cannot find symbol
    symbol: getGraphics(java.awt.Frame)

    Vermutlich fehlt dir ganz am Anfang sowas wie
       import java.awt.*;

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Vermutlich fehlt dir ganz am Anfang sowas wie
         import java.awt.*;

      Daran hab ich schon gedacht.

      Fredde

  2. Hallo,

    public Ball( /* Parameter */ Frame pFrame){

    hStift = new Stift(getGraphics(pFrame)); //Hier ist der Fehler!
    }

    Was du hier tust, ist die Methode getGraphics() auf einem Objekt vom Typ 'Ball'
    aufzurufen. Ich würde mal vermuten, dass deine Ball-Klasse keine solche Methode
    besitzt. Was du (vermutlich) willst, ist:

    new Stift(pFrame.getGraphics())

    Denn du willst ja das Graphics-Objekt vom Frame-Objekt haben. Richtig?

    Gruß
    Slyh

    1. Denn du willst ja das Graphics-Objekt vom Frame-Objekt haben. Richtig?

      Ja Danke i-wie hab ich mich da vertan. Danke..

      Fredde

      1. Hallo Fredde,

        Du solltest allerdings beachtent, dass man in Komponenten nicht so einfach "von außen" etwas hineinzeichnen kann, sondern dies beim Aufruf von Component.paint(Graphics) tun sollte.
        Die Komponente sollte sich also gewissermaßen selbst zeichnen. Dazu wäre es sinnvoll von Component abzuleiten.
        Wenn Du irgend welche Gründe hast, die Klasse, die das Zeichnen übernimmt, nicht von Component ableiten zu wollen, so solltest Du mindestens dafür sogen, dass das Zeichnen immer aus der paint-Methode heraus angestoßen wird und dort an ein anderes Objekt delegieren.

        Grüße

        Daniel