En fait, c'est une solution, mais une mauvaise solution. On ne fait pas de boucle infinie sur le clavier, jamais. Tu peux te débrouiller autrement, je suppose, que tu désires mattre en pause tes personnages, et bien s'il s'agit de thread, tu a les méthodes wait (attend) et notify (reveil) qui font çà très bien. La seule contrainte est de les appelée d'une méthode sychronized. Mais c'est un faux probléme, tu peut creer deux méthodes ainsi :
public synchronized void pause() { try{wait();}catch(InterruptedException ie){} }
public synchronized void reprise() { notify(); }
Ainsi, tu met en pause() tout le monde, quand une touche est capturée par le key listener, s'il s'agit de celle que tu attends, tu reveilles tout le monde.
Et fini la boucle infinie.
Pourquoi faut-il éviter une boucle infinie dans un listener ? Car les instruction qui prennent trop de temps à l'intérieur font tout ralentir et augmente les chances de plantages. J'ai déjà fiat ce genre d'erreurs et crois moi je m'en suis mordu les doigts.
JHelp
|