# timer erstellen dringend hilfe



## gast (25. Apr 2006)

moin,

ich muss einen timer erstellen, der bei knopfdruck gestartet wird. Ab einer bestimmten zeit soll nun eine aktion ausgeführt werden, worauf der benutzer mit einem tastendruck reagiert. Dabei soll auch die zeit von der aktion bis zum tastendruck gemesten und ausgegeben werden.
Sprich ein kleiner reaktionstest es leuchtet grün und dann springt es ab einer bestimmten zeit auf rot. daraufhin soll eine beliebige taste eingeblendet werden. Die zeit für die reaktion soll dann ausgegeben werden.

Mein problem ist einfach nur wie ich so eine timer einbinden kann. Sprich wie der so aufgebaut ist und welche befehle methoden dafür benötige.


vielen dank für eure hilfe.


----------



## The_S (25. Apr 2006)

Das kannst du entweder mit der Klasse Timer oder mit einem Extra Thread erledigen. Das einfachste wäre aber (wenn du nicht ständig die Zeit während sie läuft ausgeben willst) Beim umspringen ein GregorianCalendar objekt zu erzeugen und beim Aktivieren des Buttons eines. Diese beiden kannst du dann vergleichen und hast die Reaktionszeit.


----------



## André Uhres (25. Apr 2006)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Das kannst du entweder mit der Klasse Timer...


Ich nehme an du meinst javax.swing.Timer. Es gibt nämlich auch java.util.Timer aber ich finde
den javax.swing.Timer praktischer.


----------



## Gast (25. Apr 2006)

joa okey....das sagt mir beides nix.

also ich wäre sehr dankbar wenn einer ma nen beispiel code posten könnte...


----------



## The_S (25. Apr 2006)

Ja, was willst du jetzt machen? Mit Ausgabe, die mitläuft wie viel Zeit vergagnen ist oder einfach nur die Differenz?


----------



## Gast (25. Apr 2006)

eigentlich brauch ich doch beides...
einmal soll doch die zeit dauernd laufen...und mir die differenz angeben, zwischen den aktionspunkten.


----------



## André Uhres (26. Apr 2006)

Gast hat gesagt.:
			
		

> eigentlich brauch ich doch beides...
> einmal soll doch die zeit dauernd laufen...und mir die differenz angeben, zwischen den aktionspunkten.




```
import javax.swing.Timer;
...
    private long time1, time2;
    private Timer timer;{
        timer = new Timer(3000, new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                doTimerAction();
            }
        });
    }
...
    private void startButtonAction() {
... auf grün schalten
        timer.start();
    }
    private void doTimerAction(){
... auf rot schalten
        timer.stop();
        time1 = System.currentTimeMillis();
    }
    private void doTimerReaction(){
        time2 = System.currentTimeMillis();
        label.setText(" Reaction: " + (time2-time1) + " milliseconds");
    }
```


----------



## Gast (26. Apr 2006)

super vielen dank...damit kann ich was anfangen.


----------



## DeadMatt_Guest (13. Jun 2006)

André Uhres hat gesagt.:
			
		

> Hobbit_Im_Blutrausch hat gesagt.:
> 
> 
> 
> ...


tuschldige das ich Pushe doch frag ich mich warum du java.util.Timer nicht so prktisch findest. Er soll genauer sein hab ich gehoert


----------



## André Uhres (13. Jun 2006)

DeadMatt_Guest hat gesagt.:
			
		

> ..java.util.Timer .. soll genauer sein hab ich gehoert


Ach ja? Wusste ich nicht. Ist vielleicht auch nur ungewohnt für mich.
Naja, ich hatte auch bis jetzt kein so genaues Timing gebraucht.


----------

