Hallo!
Ich suche eine Möglichkeit, die (Pfeil)tasten abzufragen, und bin dabei auf das Interface KeyListener mit der Methode KeyPressed als wohl einzige Lösung (mit Alternative abstract class KeyAdapter, welche im Grunde aber dasselbe ist) gestoßen.
Das funktioniert auch alles soweit, aber es gibt ein Problem:
Wenn man die Taste gedrückt hält, dann wird das KeyEvent für KeyPressed zunächst nur einmal erzeugt, gefolgt von einer kurzen Pause, danach geht es dann zügig ohne Unterbrechung. Also dasselbe Verhalten, wie es bei normalen Texttastatureingaben gewünscht ist.
Kann man dieses Verhalten ändern ? Z.B. für Rotationen von Objekten, etc. ist das absolut lästig.
Ich hätte gerne, dass sobald die Taste gedrückt ist, die Ereignisse ununterbrochen losgefeuert werden.
Gibt es dafür eine andere Methode - die ggf. näher mit dem Tastaturpuffer zusammenarbeitet ?
Eine umständliche Alternative wäre wohl, mit KeyPressed und KeyReleased lediglich ein 'globales Flag' auf An/Aus zu setzen, und in einer Art Hauptschleife in Abhängigkeit davon die gewünscht Aktion ausführen. Dann aber wäre das gesamte Programm nicht mehr rein Event-orientiert (so, wie ich es mir wünsche), sondern bräuchte eine Hauptschleife.
Ich suche eine Möglichkeit, die (Pfeil)tasten abzufragen, und bin dabei auf das Interface KeyListener mit der Methode KeyPressed als wohl einzige Lösung (mit Alternative abstract class KeyAdapter, welche im Grunde aber dasselbe ist) gestoßen.
Das funktioniert auch alles soweit, aber es gibt ein Problem:
Wenn man die Taste gedrückt hält, dann wird das KeyEvent für KeyPressed zunächst nur einmal erzeugt, gefolgt von einer kurzen Pause, danach geht es dann zügig ohne Unterbrechung. Also dasselbe Verhalten, wie es bei normalen Texttastatureingaben gewünscht ist.
Kann man dieses Verhalten ändern ? Z.B. für Rotationen von Objekten, etc. ist das absolut lästig.
Ich hätte gerne, dass sobald die Taste gedrückt ist, die Ereignisse ununterbrochen losgefeuert werden.
Gibt es dafür eine andere Methode - die ggf. näher mit dem Tastaturpuffer zusammenarbeitet ?
Eine umständliche Alternative wäre wohl, mit KeyPressed und KeyReleased lediglich ein 'globales Flag' auf An/Aus zu setzen, und in einer Art Hauptschleife in Abhängigkeit davon die gewünscht Aktion ausführen. Dann aber wäre das gesamte Programm nicht mehr rein Event-orientiert (so, wie ich es mir wünsche), sondern bräuchte eine Hauptschleife.