paint(Graphics g, int x, in y)-Methode erneut aufrufen

wengi

Grünschnabel
Hallihallo,
ich hab noch nicht soo die Ahnung von Java; hab mich aber schon durch diverse Foren gelesen aber keine Lösung für mein Problem gefunden.
Folgendes:
Ich hab eine Methode
public static void paintBlock(Graphics g, int x, int y)
Diese Methode zeichnet dann ein ein GIF an den Koordinaten x und y. Nun möchte ich diese Methode wieder aus einer anderen Klasse aufrufen mit anderen Argumenten x und y. Allerdings kriege ich es nicht auf die Reihe, mit welchem Argument für Graphics ich die Methode nun aufrufen muss. Es ist ja wohl nicht das GIF dass ich zeichnen will, weil sich das die Methode erst selber dann holt.
Danke schon mal für eure Vorschläge.
 

Thomas Darimont

Erfahrenes Mitglied
Servus!

Du musst dir von irgendwoher zuerst einen Graphics - Kontext besorgen ...
panel.getGraphics() , label.getGraphics() ...

den übergibst du an die statisch Methode ...
dort wird sehr wahrscheinlich nicht mehr geamcht als, das Bild zu ladne bzw. es aus dem Bildcache zu lesen und an den angegeben Koordinaten auf den Graphics-Kontext zu zeichnen ...

Der Graphics-Kontext ist quasi ein Blatt Papier, dass du der Methode übergibst, sie Zeichnet was darauf und du hast wieder dein Papier das angezeigt werden kann ...
ein simplex repaint() tut dies für dich.

Gruß Tom
 

wengi

Grünschnabel
Danke erst mal. So ganz verstehe ich das noch nicht. Das ist jetzt vielleicht ne ganz blöde Frage. Aber wie hole ich mir denn dieses "Blatt zum Zeichnen"?

Der Aufruf

StatBalk.paintBlock(StatBalk.getGraphics(),32,32);

funktioniert nicht. Sieht für mich auch blöd aus aber ich versteh es einfach nicht. Eclipse (Entwicklungsumgebung) beschwert sich, dass getGraphics nicht "static" ist. Wie muss ich das denn machen.
 

Neue Beiträge