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

Composants Java Discussion :

JTextField associer évènement à l'appui de enter


Sujet :

Composants Java

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut JTextField associer évènement à l'appui de enter
    J'ai un JTextField dans lequel j'aimerai associer un évènement à l'appui de la touche enter (en l'occurence la même chose que sur un bouton). Je sais qu'il faut utiliser quelque chose comme des KeyListener mais si quelqu'un pouvait me donner du code précis ...

    merci

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut
    je ne comprends pas trop ...

    De manière générale, comment associer une touche à un widget?

    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Si tu veux associer un évènement lorsque l'on tape sur enter, tu peux effectivement utiliser un keyListener pour ton JtextField :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    monJTextField.addKeyListener(
                    new KeyListener(){
     
                       /*la méthode keyPressed est appelée lorsque l'on presse une touche*/   
                       public void keyPressed(KeyEvent e){
                         if (e.getKeyCode()== KeyEvent.VK_ENTER) {
                                //mets ici ce que tu veux faire...
                         }
                       }
     
                       /*les deux méthodes suivantes doivent être également écrites pour pouvoir réaliser l'interface KeyListener*/               
                       public void keyReleased(KeyEvent e){}
                       public void keyTyped(KeyEvent e){}
     
                   }  
    );

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Pour que cela soit un peu plus propre, tu peux directement réaliser l'interface depuis ta classe principale...

  6. #6
    Membre éclairé
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Points : 848
    Points
    848
    Par défaut
    Citation Envoyé par Akhan Voir le message
    Pour que cela soit un peu plus propre, tu peux directement réaliser l'interface depuis ta classe principale...
    Je ne vois pas en quoi cela est plus propre ! Perso, je fais des classes internes ou externes qui réalisent ces interfaces pour gérer mes listeners.

    Par exemple dans ce cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public class MaClasse{
       monJTextField.addKeyListener(new KeyAction()) ;
       //...
     
       class KeyAction implements KeyListener{
       /*la méthode keyPressed est appelée lorsque l'on presse une touche*/   
            public void keyPressed(KeyEvent e){
                   if (e.getKeyCode()== KeyEvent.VK_ENTER) {
                       //mets ici ce que tu veux faire...
                   }
            }
     
            /*les deux méthodes suivantes doivent être également écrites pour pouvoir réaliser l'interface KeyListener*/               
            public void keyReleased(KeyEvent e){}
            public void keyTyped(KeyEvent e){}
     
       }  
    }
    Je trouve cela plus propre que de tout mettre en direct dans le new KeyListener({...});

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/04/2011, 11h40
  2. JTextField et événements
    Par ekard dans le forum Composants
    Réponses: 3
    Dernier message: 04/02/2007, 18h56
  3. [2.0][C#]Appui sur enter
    Par xeon666 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/12/2006, 09h23
  4. Réponses: 1
    Dernier message: 22/11/2005, 17h31

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