tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
23
ZUGRIFFE
911
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Of3N Of3N ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Hallo,

    ich versuche mich derzeit an einem Quiz.
    Es wird eine Frage in die JTextArea geschrieben, dann kann man
    dort die richtige Antwort reinschreiben.
    Wenn die Antwort richtig ist soll es 5 Sekunen warten und dann eine neue Frage
    stellen.

    Ein BSP:

    A: Was ist 2*2?
    B: 4
    A: Richtig B du hast mit der Antwort '4' gewonnen!
    //Hier 5 Sekunden warten. Und dann die nächste Frage.
    A: Wieviele Ecken hat ein Viereck?

    lg Of3N
     

  2. #2
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Wo genau liegt dein Problem und was hast du schon?
     

  3. #3
    Of3N Of3N ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Mein Problem liegt darin, dass ich schon einiges mit wait() oder Thread.sleep()
    probiert habe. Wenn man die richtige Antwort eintippt "friert" er 5 Sekunden ein und
    es kommen dann :

    B: 4
    A: Richtig B du hast mit der Antwort '4' gewonnen!
    A: Wieviele Ecken hat ein Viereck?

    zur selben Zeit, was nicht sein soll.
     

  4. #4
    java123 java123 ist offline Mitglied Bronze
    Registriert seit
    Jun 2009
    Beiträge
    37
    Wenn du nur einen Thread hast, friert natürlich alles ein.

    Eine weiter Möglichkeit bietet dir TimerTask (hier gibts auch ein funktionierendes Beispiel dazu http://www.tutorials.de/forum/java/3...cht-wieso.html)
     

  5. #5
    Of3N Of3N ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Danke, werd es dann Zuhause ausprobieren.
     

  6. #6
    Lastlord Lastlord ist offline Mitglied Silber
    Registriert seit
    Jun 2008
    Ort
    Hannover
    Beiträge
    82
    Hi,
    ich würde niemals einen Thread für X Sekunden anhalten, wenn dieser einen Event verarbeitet.In deinem Fall ja wohl eine keypressed oder keyreleased Methode.
    Denn in der Zeit ist es für den Benutzer so, als wenn sich dein Programm aufgehängt hätte(wie Of3N bereits sagte)

    Ich würde es so machen:

    Textarea erstellen und mit Listnern versehen
    Ein Stringarry erstellen, in dem die Fragen liegen und eins in dem die Antworten liegen
    Eine int erstellen was besagt bei welcher Frage du bist.
    Dann das erste Element aus dem Fagearrey in der Textarea erscheinen lassen

    Dann würde ich bei jedem Aufruf des Keylisteners prüfen, ob die Antwort richtig eingegeben wurde.
    Wenn ja, dann würde ich einen neuen Thread starten, der in seiner run-Methode
    sleep(5000) aufruft und dann den int um 1 erhöht und dann den entsprechenden Eintrag aus dem fragearrey per setText
    in das textfeld setzt

    Wenn du das ganze Programm jemandem vorsetzt, würde ich unbedingt
    2 Textfelder verwenden: Eins für die Eingabe, eins für die Ausgabe

    Sollte irgenetwas unnütz oder überflüssig sein, dann lasst es mich wissen
     

  7. #7
    Of3N Of3N ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Wo, wie meinst du 2 Textfelder?

    Das mit den Frage und Antwort Array habe ich so wie du gesagt hast.

    Aber ich kapier das gerade nicht mit den 2 Textfeldern.

    lg Of3N
     

  8. #8
    java123 java123 ist offline Mitglied Bronze
    Registriert seit
    Jun 2009
    Beiträge
    37
    Er meint ein Textfeld wo du die Fragen anzeigst (am besten nicht editierbar machen) und ein Textfeld wo der User die Frage eingibst, dort fügst du dann auch alle Listener hinzu die du brauchst.
     

  9. #9
    Of3N Of3N ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Ja, so könnte man es auch machen.
    Will später aber das "Quiz" mit einer Datenbank verbinden, damit
    mein Cousin und ich das gleichzeitig spielen können.
    Deshalb finde ich, dass es mit einer JTextArea besser aussieht.
    soll dann auch wie ein Art Chat funktionieren.
    Aber am Anfang will ich mal, dass das Quiz läuft.

    lg Of3N
     

  10. #10
    Lastlord Lastlord ist offline Mitglied Silber
    Registriert seit
    Jun 2008
    Ort
    Hannover
    Beiträge
    82
    Den an ICQ-Chatfenster. Ein Textfeld indem die Fragen gestellt werden und eins in dem du Antworten musst.
    Sonst muss man doch immer erst den geschrieben Text rauslöschen und dann die Antwort eintragen.
    das mir 5 Sekuden warten könnstest du so realisieren
    Der code soll nur das Prinzip dastellen
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    public void keypressed(KeyEvent ev)
    {
               if(isAntwortCorrect())
               {
                     new Thead()
                     {
                           public void run()
                           {
                                Thread.sleep(5000);
                                 askNextQuestion();
                           }
                     }.start();
               }
    }
    XD ich hab vergessen wie man javacode formatiert
    Geändert von Lastlord (13.07.09 um 16:01 Uhr) Grund: Muss ja alles richtig formatiert sein
     

  11. #11
    Of3N Of3N ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Also den Text muss ich nicht aus der TextArea rauslöschen.
    Es funktioniert auch alles nur die 5 Sekunen soll er warten bevor
    er die nächste Frage stellt.

    Meine TextArea schaut so aus wenn er z.B.: 2 Fragen gestellt hat:

    A: Was ist 2*2?
    B: 4
    A: Richtig B du hast mit der Antwort '4' gewonnen!
    B: Jaa, richtig!
    A: Wieviele Ecken hat ein Viereck?
    B:5
    B:4
    A: Richtig B du hast mit der Antwort '4' gewonnen!
    B: Voll vertippt mit 5

    lg Of3N
     

  12. #12
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    mit [_JAVA] [_/JAVA] (OHNE die Unterstriche) oder über den '#'-Button im Editor !

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  13. #13
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Zitat Zitat von Lastlord Beitrag anzeigen
    XD ich hab vergessen wie man javacode formatiert
    Entweder mit den code-Tags bei den buttons oben oder einfach
    [.java] code hier [./java]
    Ohne die Punkte.
     

  14. #14
    Of3N Of3N ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Zitat Zitat von Lastlord Beitrag anzeigen
    Den an ICQ-Chatfenster. Ein Textfeld indem die Fragen gestellt werden und eins in dem du Antworten musst.
    Sonst muss man doch immer erst den geschrieben Text rauslöschen und dann die Antwort eintragen.
    das mir 5 Sekuden warten könnstest du so realisieren
    Der code soll nur das Prinzip dastellen
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    public void keypressen(KeyEvent ev)
    {
               if(isAntwortCorrect())
               {
                     new Thead()
                     {
                           public void run()
                           {
                                Thread.sleep(5000);
                                 askNextQuestion();
                           }
                     }.start();
               }
    }
    XD ich hab vergessen wie man javacode formatiert
    Danke mit dem werde ich es am Abend probieren.

    lg Of3N
     

  15. #15
    Lastlord Lastlord ist offline Mitglied Silber
    Registriert seit
    Jun 2008
    Ort
    Hannover
    Beiträge
    82
    Danke vfl_freak, Danke MiMi

    hä Of3N
    bitte poste mal den Abschitt in dem festgestellt wird, dass die Antwort richtig ist

    Also die FUNKTION (am besten) die püüft ob die Antwort richtig ist

    und außerdem den Kontext, aus dem die Funktion aufgerufen wird.

    Sollte umbedingt ne Funktion sein.

    Ist natürlich nicht nötig, wenn dir mein Codeschnipsel reicht
    Geändert von Lastlord (13.07.09 um 15:51 Uhr)
     

Ähnliche Themen

  1. wait - Process
    Von dasago im Forum Java
    Antworten: 4
    Letzter Beitrag: 16.02.07, 09:39
  2. Message Wait
    Von derNero im Forum Borland CBuilder und VCL
    Antworten: 3
    Letzter Beitrag: 10.12.06, 15:09
  3. VBS Please wait Meldung
    Von savvo im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 06.12.06, 12:20
  4. wait()
    Von chickenwings im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 08.06.06, 13:55
  5. HILFE: wait
    Von DJBUNDI im Forum .NET Archiv
    Antworten: 5
    Letzter Beitrag: 22.09.04, 08:32

Stichworte