String löschen

MiRaMC

Erfahrenes Mitglied
Wie kann man einen String, der mit der Methode .drawString() gezeichnet wurde wieder löschen? Dabei soll nur dieser String gelöscht werden, die anderen gezeichneten Dinge z.B mit drawLine() sollen erhalten bleiben.

Das Proplem ist nämlich, dass ich ein Programm geschrieben habe das 1 Sekunde diesen String anzeigen soll und danach dieser String wieder gelöscht und dafür andere angezeigt werden sollen. Wenn ich nach 1 Sekunde dann die Methode repaint() ausführe verschwindet alles. Warum? Wie lässt sich das vermeiden?

Hier mein Code:

try {
Graphics g = getGraphics();

graphicObject1.drawString("Text", 500, 500);

Thread.sleep(1000);

repaint();
Dimension Groesse = getSize();
int Breite = Groesse.width;
int Hoehe = Groesse.height;
g.drawRect (20,40, Breite-40,Hoehe-60);
g.drawOval (30,50, Breite-60,Hoehe-80);
g.drawLine (Breite/2,40, Breite/2,Hoehe-20);
gr.drawLine (20, Hoehe/2+10, Breite-20,Hoehe/2+10);
}
catch (Exception x) {
this.setTitle("Fehler ");
}
 
In dem alles neu gezeichnet wird, nur ohne String. Ich glaub du musst dann halt die repaint Methode überschreiben ..
 
In welcher Methode befindet sich dein Codeschnipsel? Wenn es die Paintmethode ist dann ist die ganze sache einfach:

Code:
bla paint(...) {
   if (timer<1000) {
     male string 1;
   } else {
     male string 2;
   }
}

so das ganze in crudem Pseudocode. timer ist eine Variable die die Zeit in ms beinhaltet.
 
Zurück