Intercepter plusieurs touches du clavier en même temps
Bonjour, après une recherche assez longue sur le forum je me suis décider à faire ce poste car je n'ai pas pu trouver la réponse que je cherche, voici mon problème :
Il est assez facile, en java avec KeyListener d'intercepter une touche sur stdin (le clavier) de la facon suivante :
(dans une classe qui extends KeyListener)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public void keyTyped(KeyEvent e){
char c = e.getKeyChar();
System.out.println("key typed = "+e.getKeyChar());
switch(c)
{
case '8' : //une action
break;
case '2' : // une autre action
break;
//etc etc etc
}
} |
Ce code marche très bien quand on appuie sur une touche à la fois. Mais comment faire pour gérer l'utilisation de plusieurs touches en même temps ? Je voudrais faire un petit jeu à deux joueurs avec des touches distinctes mais avec ce code une action d'un joueur entrave celle de l'autre ( si on appuie sur deux touches en même temps c'est la dernières touche qui est prise en compte)
Question Bonus :
Est-ce qu'on utilise des classes internes pour la gestions d'évènements ? J'ai vu les classes internes en cours il y a peu de temps et j'ai essayer d'en utiliser une pour la gestion d'event aujourd'hui même mais je n'y arrivais pas ( une class Animal extends JComponent implements KeyListener , extends JComponent pour avoir le focus avec requestFocus(), mais malgrés tout le clavier ne réagissait pas )
Voila, merci d'avance pour vos réponses :)