Problem: Mehrere KeyEvents gleichzeitig verarbeiten(Thread?)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem: Mehrere KeyEvents gleichzeitig verarbeiten(Thread?)

    Hi..
    Ich bin grad dabei n kleines Java3D-Projekt zu erstellen.
    Komm soweit auch gut voran. Das ganze basiert auf nem Applet.
    Die Funktionalität hab ich auch soweit.

    Jetzt will ich über nen Keylistener 2 Lichter bewegen.
    Das eine über WASD das andere über den NUM-Block.

    Im Prinzip kein Problem, funktioniert auch, aber nur jeweils nacheinander.
    Also ich kann ein Licht über die jeweiligen Tasten bewegen, aber nicht beide gleichzeitig, bzw. ein Licht diagonal. (es geht, wenn ich die beiden Tasten absolut synchron drücke!).

    Um die KeyEvents besser zu verarbeiten hatte ich an einen StringBuffer gedacht.
    Also hab ich bei keyTyped() den KeyChar in den Stringbuffer geschrieben.
    So. aber wo bearbeite ich jetzt den Buffer? und wie?

    Ne andere Variante, die ich im Netz recherchiert hab, ist sich mit Booleans die Tasten zu merken die gedrückt wurden. Und bei keyReleased() eben wieder auf false zu setzen. Dazu noch ein Bool "anyKeyDown" solange zumindest ein Key gedrückt ist... Aber auch hier stellt sich mir die Frage wie und wo ich die Verarbeitung hinpacken soll. In ner eigenen Methode mit "while(anyKeyDown)" geht nicht --> Endlosschleife da er nicht mehr auf keyReleased reagiert.

    Evtl. kennt sich ja einer von euch mit dem Zeug aus, und hat sowas schon mal gemacht.
    Am coolsten wär n direkter Kontakt via Skype.

    Thx

    Gruß Manu