Hallo alle miteinander,
ich soll folgende Aufgabe lösen.
run Methode:
Zuerst brauchen wir die Zeile Thread thisThread = Thread.currentThread();
Die nächste Zeile
while(Threadname=thisThread) im Rumpf soll der Rest der run Methode implementiert werden.
Wir stoppen darin den Thread mit Thread.sleep(1000); für eine Sekunde.
Danach soll die Methode repaint() aufgerufen werden. Diese soll die paint Methode neu ausführen. Damit endet die run Methode.
Es soll ausserdem in der run Methode die Ausnahme impletiert werden das der Befehl Thread.sleep(1000) nicht funktioniert und es soll dafür eine aussagekräftige Fehlermeldung erscheinen.
paint Methode:
In der paint Methode müssen wir dann eine Zählvariable x um eins erniedrigen.
Tun Sie dies in einer if Schleife mit der Sie prüfen ob x noch nicht 0 ist. Wenn x Null ist so rufen Sie Threadname,stop() auf um den Thread zu beenden.
Dann muß die paint Methode nur noch die Variable mit g.drawString("Counterstand:" +x) ausgeben wobei g der Name des Graphics Objekts ist.
stop Methode:
In der Stop Methode können Sie noch eine Botschaft ausgeben z.B das der Countdown zuende ist.
Ich komme einfach nicht weiter. Ich weiß einfach nicht wo ich da Fehler mache?
Könnt Ihr mir eine kleine Hilfestellung geben?:rtfm:
Viele Grüße
Summe
ich soll folgende Aufgabe lösen.
run Methode:
Zuerst brauchen wir die Zeile Thread thisThread = Thread.currentThread();
Die nächste Zeile
while(Threadname=thisThread) im Rumpf soll der Rest der run Methode implementiert werden.
Wir stoppen darin den Thread mit Thread.sleep(1000); für eine Sekunde.
Danach soll die Methode repaint() aufgerufen werden. Diese soll die paint Methode neu ausführen. Damit endet die run Methode.
Es soll ausserdem in der run Methode die Ausnahme impletiert werden das der Befehl Thread.sleep(1000) nicht funktioniert und es soll dafür eine aussagekräftige Fehlermeldung erscheinen.
paint Methode:
In der paint Methode müssen wir dann eine Zählvariable x um eins erniedrigen.
Tun Sie dies in einer if Schleife mit der Sie prüfen ob x noch nicht 0 ist. Wenn x Null ist so rufen Sie Threadname,stop() auf um den Thread zu beenden.
Dann muß die paint Methode nur noch die Variable mit g.drawString("Counterstand:" +x) ausgeben wobei g der Name des Graphics Objekts ist.
stop Methode:
In der Stop Methode können Sie noch eine Botschaft ausgeben z.B das der Countdown zuende ist.
Ich komme einfach nicht weiter. Ich weiß einfach nicht wo ich da Fehler mache?
Könnt Ihr mir eine kleine Hilfestellung geben?:rtfm:
Java:
import java.io.*;
import java.awt.*;
import java.lang.Thread;
public class Zaehlen extends java.applet.Applet implements Runnable {
//Thread Variable erstellen
Thread t ;
int x= 10;
public void start()
{
//Wenn der Thread noch nicht existiert
if(t == null)
{
t = new Thread(); //neuen Thread erschafen
t.start(); //Diesen neuen Thread starten
}
}
public void stop()
{
if(t !=null)
t=null; //Thread null setzen = löschen
}
public void run()
{
//Thread aktiv setzen
Thread thisThread = Thread.currentThread();
while( x > 0)
{
try
{
//Thread soll 1000 Sek schlafen
Thread.sleep(1000);
}
catch(InterruptedException e)
{
x--;
}
//Führt die paint Methode neu aus.
repaint();
}
}
// Etwas am Bildschirm anzeigen
public void paint(Graphics g)
{
g.drawString("Counterstand" +x, 120, 60);
}
}
Viele Grüße
Summe