Announcement

Collapse
No announcement yet.

Countdownzähler

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Countdownzähler

    Hallo Leute
    Die systemzeit in einem applet laufen zu lassen ist ja ein kinderspiel.Ich möchte nun aber einen countdownzähler erstellen, der im sekundentakt herunterzählt. z.B 00:00:60 bis 00:00:00 und dann eine ausgabe gibt.

    thanks for helping

    The_Oracle

  • #2
    Ich bin der sache schon ein wenig näher. Wenn jedoch jemand eine elegantere lösung für mein problem hat bin ich sehr dankbar.

    ------------------------------------------------------------<BR>
    import java.awt.*; <BR>
    import java.applet.*; <BR>
    <B>public class CountDownZähler extends Applet implements Runnable</B> { <BR>
    <BR>
    int counter;<BR>
    Thread cd;<BR>
    <BR>
    <B>public void start()</B> { <I>//create thread</I><BR>
    <BR>
    counter = 60;<BR>
    cd = new Thread(this);<BR>
    cd.start();<BR>
    }<BR>
    <BR>
    <B>public void stop ()</B> { cd = null;}<BR>
    <BR>
    <B>public void run()</B> { <I>//executed by Thread</I><BR>
    <B>while</B> (counter>0 && cd!=null){<BR>
    <B>try</B> {Thread.sleep(1000);}<BR>
    <B>catch</B> (InterruptedException e){}<BR>
    --counter;<BR>
    repaint(); //update screen<BR>
    }<BR>
    }<BR>
    <BR>
    <B>public void paint(Graphics g)</B> {<BR>
    g.drawString(String.valueOf(counter),25,75);<BR>
    }<BR>
    }<BR>
    ----------------------------------------------------------<BR>
    <BR>
    Thanks Mike (alias (The_Oracle)

    Comment


    • #3
      Bis auf den Klassennamen - Java unterstuetzt zwar Unicode, aber ich wuerd dennoch keine Umlaute verwenden - ist Dein Countdown-Zaehler schon mal nicht schlecht. Um ihn zu verbessern, koenntest Du nun noch die Systemzeit mit System.currentTimeMillis() benutzen, um den Thread nicht genau 1000 Millisekunden schlafen zu lassen, sondern soviel, wie mitsamt Verarbeitungszeit an 1000 fehlt. dann geht naemlich Dein CountDown auch ueber Tage einigermassen sauber.<p>
      Je nach Anwendung kann man streiten, ob es sinnvoll ist, in start() den Thread zu initialisieren, oder in init(). Aber dann muesstest Du auch stop() anpassen ...<p>
      Viel Spass bei groesseren Projekten, The_Oracle <br>
      Marc

      Comment


      • #4
        Hallo Marco

        Ich werde deinen rat befolgen. Auf jeden fall, thanks. Den Countdown brauche ich übrigens für ein mittelgrosses projekt. Es ist noch lustig aber nicht immer einfach mit java, vor allem wenn man vom c-standart das vorwissen mitbringt.

        cya The_Oracl

        Comment

        Working...
        X