wassertropfen
Grünschnabel
Hallo Leute!
Meine Frage betrifft die GUI-Programmierung mit Swing.
Habe für meinen Mathelehrer ein Programm geschrieben, dass den
Monte-Karlo Algorithmus benutzt um Pi auszurechnen (siehe Wikipedia unteres Drittel: http://de.wikipedia.org/wiki/Kreiszahl).
Der Benutzer gibt die "Tropfenanzahl" ein und dann werden in einem neuen Thread beliebige Punkte bestimmt und mit Hilfe von getGraphics() in einer for-Schleife in ein Panel gezeichnet.
Dies funktioniert auch alles doch sobald man das Fester minimiert ist ja bekanntlich die Zeichnung weg und das nervt.
Verwende ich hingegen aus meinen Thread heraus einen repaint()-Aufruf und lasse die Punkte durch die paintComponent()-Methode zeichnen habe ich das Problem nicht, allerdings sieht man dann nicht, wie die einzelnen Punkte gezeichnet werden und das Programm hängt vorübergehend (vor allem bei vielen Punkten).
Meine Frage: Kann man aus einem neuem Thread heraus so zeichnen, dass die Grafik fest im Zwischenspeicher liegt und das Programm nicht hängt?
Danke schon mal im voraus!
Meine Frage betrifft die GUI-Programmierung mit Swing.
Habe für meinen Mathelehrer ein Programm geschrieben, dass den
Monte-Karlo Algorithmus benutzt um Pi auszurechnen (siehe Wikipedia unteres Drittel: http://de.wikipedia.org/wiki/Kreiszahl).
Der Benutzer gibt die "Tropfenanzahl" ein und dann werden in einem neuen Thread beliebige Punkte bestimmt und mit Hilfe von getGraphics() in einer for-Schleife in ein Panel gezeichnet.
Dies funktioniert auch alles doch sobald man das Fester minimiert ist ja bekanntlich die Zeichnung weg und das nervt.
Verwende ich hingegen aus meinen Thread heraus einen repaint()-Aufruf und lasse die Punkte durch die paintComponent()-Methode zeichnen habe ich das Problem nicht, allerdings sieht man dann nicht, wie die einzelnen Punkte gezeichnet werden und das Programm hängt vorübergehend (vor allem bei vielen Punkten).
Meine Frage: Kann man aus einem neuem Thread heraus so zeichnen, dass die Grafik fest im Zwischenspeicher liegt und das Programm nicht hängt?
Danke schon mal im voraus!