Java2D-Ständiges neuzeichnen vermeiden

Matze

Weltenwanderer
Hi,

ich arbeite zurzeit an einem Programm, dass verschiedene 2D Figuren darstellt. Um zu überprüfen, ob die Längenverhältnisse o.ä. passen, zeichen ich zunächst ein Koordinatensystem auf eine Fläche und darauf dann meine Zeichnung.

Jetzt muss ich jedesmal wenn ich eine andere Zeichnung anzeigen lassen will oder die aktuelle ändere, die ganze Fläche löschen und das Koordinatensystem neuzeichnen.

Vor allem das Neuzeichnen nervt, da ich immer warten muss bis es fertig ist (sehr detailiert).
Wie kann ich nun verhindern, dass ich es ständig neuzeichnen muss?
 
Wiedermal das Stichwort "Doublebuffering". Das Zeichnen des Koordinatensystems könntest Du zu Beginn einmal auf einem BufferedImage erledigen und dieses dann jedes Mal auf Deiner Zeichenfläche einfügen.
 
Danke für die Antwort. Irgendwas mit BufferedImage dachte ich mir schon, nur weiß ich nicht wie ich daraus ein BufferedImage erstellen soll. Es handelt sich ja hier nicht um ein Bild, sondern ich zeichen das Koordinatensystem Linie für Linie (nicht nur die Axen sondern auch verschiedene Raster)
 
Also in Swing ist DoubleBuffering schon automatisch mit drin, so weit ich weiß.
Ich selbst habe bisher immer lediglich die paint- bzw ab Java 1.3 die paintComponent-Routine überschrieben.
 
In diesem Projekt allerdings wird mit Java2D gearbeietet und ich darf dies auch nicht ändern.

Und: Das Problem ist doch schon gelöst!:rolleyes:
 
Zurück