IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

déclencher un JButton avec ENTER


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    76
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 76
    Par défaut déclencher un JButton avec ENTER
    Bonjour,

    Je cherche à pourvoir utiliser la touche 'enter' dans un JtextField pour que celà déclenche l'action d'un bouton. Pour celà, je suis aller du coté de http://java.developpez.com/faq/gui/?...touches_defaut

    Mais j'ai pas tout à fait compris comment on implémentait la chose.

    j'ai créé un JTextField 'name', un JButton 'bouton'
    Si l'on clic sur le bouton, la méthode ActionPerformed fait son travail. Donc ce que je veux, c'est qu'on puisse cliquer ou tapper enter pour avoir le même résultat
    Voilà donc ce que je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	add(name, 0);
    	add(bouton,0);
    	name.getRootPane().setDefaultButton(bouton);
    Sauf que ça ne marche pas... Comment dois-je faire?

    Merci de votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    il faut utiliser un keylistener sur ton jtextfield

    name.addKeyListener(this);

    faudra ensuite que tu implemente KeyListener à ta classe

    et enfin tu definit la méthode keyPressed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void keyPressed(KeyEvent ke) {
      if(ke.getSource().equals(name)){ //si la source est "name"
    	if(ke.getKeyCode() == KeyEvent.VK_ENTER){ //s'il s'agit de la touche entrée
    		if(!name.getText().equals("")){ //si le texte dans name n'est pas vide
                          bouton.doClick(); //  permet de simuler l'appui sur le bouton
    		}
    	}
       }
    }

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    76
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 76
    Par défaut
    Arf!! Merci ça marche au poil et c'est plus compréhensible!! Mais alors le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name.getRootPane().setDefaultButton(bouton);
    proposé dans le tuto il correspond à quoi?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    je sais pas
    j'utilise jamais cette methode

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    76
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 76
    Par défaut
    Merci quand même

  6. #6
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    le methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name.getRootPane().setDefaultButton(bouton);
    sert à faire ce que tu demandais. J'ai testé ça marche. Peut être avais tu un probleme de panel ??

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/08/2008, 12h09
  2. parcourir les champs d'édition avec enter
    Par programaniac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/10/2005, 23h21
  3. Déclencher une action avec un chrono
    Par Oberown dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/09/2005, 14h22
  4. [JTextField] Déclencher une action avec la touche ENTER
    Par tchoukapi dans le forum Composants
    Réponses: 10
    Dernier message: 19/09/2005, 14h37
  5. [JButton] avec un fond transparent
    Par Tiercel dans le forum Composants
    Réponses: 6
    Dernier message: 23/09/2004, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo