# for-Schleife in Applet ausgeben



## rapier64 (20. Mai 2010)

Hallo,

Wer kann mir sagen, wie ich die Ausgabe meiner for-Schleife (Countdown) in meinem Applet ausgeben kann? Unten stehend mein Code des Applets. Den Code für die for-Schleife habe ich mal auskommentiert. Die konkrete Frage ist, wie baue ich nun dieses Teil ein, damit die Ergebnisse der for-Schleife im Applet angezeigt werden?


```
package beispiel3;

import java.applet.*;
import java.awt.Graphics;
import java.awt.*;

public class Countdown extends java.applet.Applet {
		
	public void init() {
		setBackground(Color.green);
	}
	
	
	
	public void paint(Graphics g) {
		
		g.drawString("Test",20,40);
			
	} 
	
}

/* for(int i = 50; i >= 0; i--) {
 * 
 * 		System.out.println("Durchlauf: " + i);
 * 
 * 	}
 */
```

Kann die paint-Methode für die Ausgabe überhaupt verwendet werden?
Danke für jegliche Hinweise!


----------



## eRaaaa (20. Mai 2010)

rapier64 hat gesagt.:


> Kann die paint-Methode für die Ausgabe überhaupt verwendet werden?
> Danke für jegliche Hinweise!



Generell schon. Du könntest einfach eine Objektvariable anlegen, .z.B ein int, welche du immer runterzählst. In der paint gibst du dann diese Zahl anstelle deines Strings "Test" aus . Um das Applet aufzufordern neuzuzeichnen, rufst du einfach repaint() auf. Natürlich macht es mit der Schleife so keinen Sinn, da die Schleife fix durchgelaufen ist und du keinen wirklichen Counter zu sehen bekommst.
Ein Beispiel:

```
public class Countdown extends java.applet.Applet {

	private int countdown = 50;
	private Timer timer = new Timer();;

	public void init() {
		setBackground(Color.GREEN);
		timer.schedule(new TimerTask() {
			@Override
			public void run() {
				countdown--;
				repaint();
				if (countdown == 0) {
					timer.cancel();
				}
			}
		}, 1000, 1000);
	}

	public void paint(Graphics g) {
		g.drawString("Durchlauf: " + countdown, 20, 40);
	}
}
```


----------



## jemandzehage (20. Mai 2010)

Also das einfachste ist es den Countdown in einem Thread laufen zu lassen. 

Zum Beispiel so:


```
import java.awt.*;
 
public class AppletTest extends java.applet.Applet implements Runnable{
    
	public void init() {
        setBackground(Color.green);
        
        new Thread(this).start();
    }
    
    
    
    public void paint(Graphics g) {
        
        g.drawString("Test",20,40);
            
    }



	public void run() {
		for(int i = 50; i >= 0; i--) {
			System.out.println(i);
			
			try {
				Thread.sleep(1000);//Sleeptime in milli seconds
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	} 
}
```


----------



## rapier64 (21. Mai 2010)

Danke für Eure Hilfe! Konnte damit wirklich etwas machen!


----------

