Hallo liebe Java-Experten und Java-Expertinnen,
zur Einleitung eines Java-Programms wird ein Logo aufgerufen.
Der Virenscanner arbeitet manchmal im Hintergrund und unterbricht
die Darstellung. Das sieht nicht schön aus.
Leider fehlen mir für diese Zeit Teile der Grafik, die auch nicht mehr dargestellt werden.
Zum Verständnis:
- repaint() wird über einen Taktgeber aufgerufen, der in einem
extra Thread läuft. - nacheinander wird ein Logo in verschiedenen Größen gezeichnet.
- update(…) ist überschrieben und ruft nur paint(…) auf.
Die Methode paint(…) wird offenbar vollständig und sauber abgearbeitet.
Trotz allem bleiben manchmal Teile der Darstellung
auf dem Bildschirm aus.
Frage 1: Läuft die Grafikausgabe in einem extra Thread?
Frage 2: Wie erhalte ich die Information,
dass das Element dargestellt wurde.
Es wäre in Ordnung, wenn die Darstellung des Logos durch den Virenscanner kurzzeitig angehalten wird. Ich möchte nur die vollständige Darstellung erreichen.
Dazu würde ich den Takt ausblenden, so lange nicht signalisiert ist, dass der Teil des Logos auf dem Bildschirm angezeigt wurde.
Die Verwendung von wait() und notify() scheint mir naheliegend.
Da ich diese Methoden noch nicht eingesetzt habe und auch gar nicht weiß, wie man das genau macht, wäre ich für eine ausführliche Antwort dankbar.
Das Programm lässt sich hier aufrufen:
http://www.haller-mtl.de/breakout/index.html
Um den unerwünschten Effekt zu sehen ist es günstig, beim Starten des Programms den Virenscanner im Hintergrund den Computer prüfen zu lassen.
Vielen Dank für eure Mühe
Uwe Haller
.

)