Comment associer la touche Enter à un bouton [Résolu]

cerco2 34 Messages postés lundi 6 août 2007Date d'inscription 27 février 2008 Dernière intervention - 14 août 2007 à 16:54 - Dernière réponse :  cenyo
- 29 juil. 2012 à 15:05
salut,
je voudrai savoir comment faire pour associer la touche Enter aux boutons de ma fenetre. c'est à dire, j'aimerai que lorsque je suis entrain de remplir un champ de texte par exemple, que le focus se place deja sur un bouton par defaut et j'aurai juste à appuyer sur la touche Enter, au lieu de cliquer necessairement sur le bouton. aussi que je puisse avoir la possiblité de selectionner un autre bouton en utilisant la touche tabulation.
quelqu'un à une idée ?
merci d'avance
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscriptionModérateurStatut 4 mars 2013 Dernière intervention - 14 août 2007 à 17:10
1
Merci
Il suffit de farfouiller dans la javadoc :

 
void
setDefaultCapable(boolean defaultCapable)


          Sets the
defaultCapable
property,
which determines whether this button can be
made the default button for its root pane.

Merci cs_DARKSIDIOUS 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
sheorogath 2465 Messages postés samedi 21 février 2004Date d'inscriptionModérateurStatut 29 janvier 2010 Dernière intervention - 14 août 2007 à 23:43
1
Merci
au pire
 :
sur ton composant (pas obligatoirement un boutton , par exemple genre une aire de texte ) :

toncomposant.addKeyListener(new KeyListener() {

public void keyTyped(KeyEvent e) {

}

public void keyPressed(KeyEvent e) {

if (e.getKeyCode() == KeyEvent.VK_ENTER)

sendCmd();

}

public void keyReleased(KeyEvent e) {

}

});

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

Merci sheorogath 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de sheorogath
cerco2 34 Messages postés lundi 6 août 2007Date d'inscription 27 février 2008 Dernière intervention - 14 août 2007 à 17:33
0
Merci
merci encore pour ton aide
j'essai le truc en meme temps
à plus
Commenter la réponse de cerco2
cerco2 34 Messages postés lundi 6 août 2007Date d'inscription 27 février 2008 Dernière intervention - 14 août 2007 à 18:07
0
Merci
j'ai pas encore fini de tester, mais j'ai l'impression que dans la  methode proposée, la touche Enter est fixée à un seul bouton, or moi je voudrai que cela se fasse de façon dynamique par rapport à la position du focus. c'est à dire un appuie  sur la touche Enter, declenche d'abord une verification de la position du focus, et seul l'evenement associé au bouton où se trouve le focus  sera lancé.

ex: si j'ai 2 boutons, supposons que par defaut le focus se trouve sur le bouton1 et donc la touche Enter est associée à cet instant au bouton1. mais lorsque je passe le focus sur le bouton2, alors il faudrat qu'à cet instant la touche Enter soit associé au bouton2, donc declenche l'evenement associé au bouton2

voilà un peu ce que je veux en fait, je ne sais pas si j'ai été assez clair

 
Commenter la réponse de cerco2
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscriptionModérateurStatut 4 mars 2013 Dernière intervention - 14 août 2007 à 18:31
0
Merci
ah ce moment là, c'est automatique : si aucun bouton n'est le bouton par défaut, il suffit qu'il ai le focus pour qu'un appui sur la touche entré déclenche son Action !
Commenter la réponse de cs_DARKSIDIOUS
cerco2 34 Messages postés lundi 6 août 2007Date d'inscription 27 février 2008 Dernière intervention - 14 août 2007 à 23:10
0
Merci
je ne sais pas ce que tu entends par automatique, sinon j'ai utilisé ta methode comme ceci:

monBouton.setDefaultCapable(true);  //celle-ci a été appliquée sur mes 3 boutons
 this.getRootPane().setDefaultButton(null);  

mais rien ne se passe quand je place le focus sur un bouton et que j'appuie sur la touche Enter. mais si je remplace null, par un bouton ce bouton reste associé à la touche Enter meme quand il ne possede pas le focus.
Commenter la réponse de cerco2
cerco2 34 Messages postés lundi 6 août 2007Date d'inscription 27 février 2008 Dernière intervention - 15 août 2007 à 13:00
0
Merci
ouf!!! ça marche. j'ai un peu modifié le code sheorogath, et tout semble bien marché.
merci beaucoup pour votre aide
à plus
Commenter la réponse de cerco2
tihout 68 Messages postés vendredi 30 mars 2007Date d'inscription 30 juillet 2012 Dernière intervention - 19 déc. 2008 à 23:34
0
Merci
bonjour, j'ai le meme probleme que ta eu avec la touche entrer meme si
le focus n'est pas sur le bouton en question il n'y'a que lui qui s'active lorsqu'on
appuis sur la touche entrer. alors si tu peut m'aider en me disant comment ta regler ton probleme je t'en remercie d'avance
Commenter la réponse de tihout
cs_mohavic 1 Messages postés samedi 1 mai 2010Date d'inscription 25 juillet 2012 Dernière intervention - 25 juil. 2012 à 22:57
0
Merci
Merci
Commenter la réponse de cs_mohavic
0
Merci
Bonjour juste un petit apport: le code de la touche Entrer est 10. donc même si tu écrit

if (e.getKeyCode() == 10)

sendCmd();

}
ça marche parfaitement
Commenter la réponse de cenyo

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.