Timer in Applet

dehlen

Bekanntes Mitglied
Hey arbeite gerade an einem Applet...
In diesem würde ich gerne einen Timer einbauen, damit der Spieler sehen kann wieviel Zeit vergangen ist.

Dies klappt auch wunderbar nur leider verschwinden die alten Werte nicht wieder sondern die Zahlen werden einfach übereinander geschrieben...

Was mache ich falsch ?
Danke für Ratschläge.
(Code den ich benutze um den Timer auf dem Applet anzeigen zu lassen)
Java:
import java.util.*;

 public int time;


 public void init() { // initalisierung
            java.util.Timer timerUtil = new java.util.Timer();
            timerUtil.scheduleAtFixedRate(new TimerTask()
            {

        
          public void run()
          {
            time++;
            
            
                Graphics g = getGraphics();
                
              
                
              
                g.setColor(Color.black);
                g.drawString("Zeit: "+time, 20, 370);
            
          }
        }, 0, 1000);
   

 public void paint(Graphics g)
    {
        paint();
    }
    
    public void paint()
    {
            Graphics g = getGraphics();
        }

PS (sind natürlich nur codeschnipsel also alle codezeilen die etwas mit meinem Timer zu tun habe)
 
Wo stehn die Methoden? Doch nicht irgendwo in der Luft ohne ne Klasse?
Du hast super.paint() vergessen. Aber falls du Swing nutzt dann überschreib paintComponent.

EDIT:
So hab jetzt nochmal mit etwas verstand draufgeschaut :shock:
Also deine paint Methoden machen gar nicht?! Im Timer rufst du getGraphics aus. Das ist beides falsch!
Zeichnen tust du NUR in der paint (bzw. in Swing paintComponent Methode) und NUR da. In deinem Timer kannst du einfach repaint() aufrufen, das ruft dann die paint/paintComponent Methode auf.
Ich geh mal davon aus dass du das paint des Applets überschrieben hast, das solltest du nicht machen. Erstell dir lieber nen JPanel von dem du die paintComponent überschreibst, das JPanel legt du dann auf dein applet.
 
Zuletzt bearbeitet von einem Moderator:
alles klar habe es gerade hinbekommen 😀 omg war nur ein Denkfehler ... danke für die schnelle und tolle Hilfe ;-)
 
Zuletzt bearbeitet:

Zurück
Oben