Touche clavier = clic JButton [Résolu]

cs_kaliel 96 Messages postés mardi 6 janvier 2004Date d'inscription 24 octobre 2005 Dernière intervention - 16 sept. 2004 à 15:59 - Dernière réponse : vanRachid 1 Messages postés mercredi 14 mai 2014Date d'inscription 14 mai 2014 Dernière intervention
- 14 mai 2014 à 15:41
Au secours, je sais qu'il y a pas mal de choses sur le Net à ce propos, mais j'en ai vu tellement que je sais plus par quel bout prendre ce pb, j'ai essayé beaucoup de solutions et rien ne marche !!!!!!

J'ai une JDialog (modale) qui apparait devant une JFrame. J'ai plusieurs labels, textfields, boutons et je voudrais que la touche <Echap> fasse exactement la même chose que un bouton nommé Stop.
Quand Stop est enabled, Echap ne fait rien
Quand Le clic est possible, il peut être remplacé par l'appui sur Echap.

J'ai déjà abordé les notions de keyListener, keyPressed, if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { StopButton.doClick); }, ..............

Rien n'y fait :-(
Merci d'avance pour toute aide.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_kaliel 96 Messages postés mardi 6 janvier 2004Date d'inscription 24 octobre 2005 Dernière intervention - Modifié par cs_Julien39 le 15/05/2014 à 08:00
3
Merci
Finalement, j'ai trouvé moi-même la réponse a mon pb, si ca peut aider quelqu'un :
Au moment du "Run", il faut placer le focus sur la fenetre principale : this.getContentPane().requestFocus();
en ayant auparavant creer l'écouteur d'évenements suivant :

this.getContentPane().addKeyListener(new KeyAdapter() {
      public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_ESCAPE)  {
          StopButton.doClick();
        }
      }
    });


Merci moi pour cette belle explication !

Merci cs_kaliel 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

vanRachid 1 Messages postés mercredi 14 mai 2014Date d'inscription 14 mai 2014 Dernière intervention - 14 mai 2014 à 15:41
Merci beaucoup, ça fonctionne à merveille !
Commenter la réponse de cs_kaliel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.