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 :

Pourquoi le KeyListener ne fonctionne pas?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut Pourquoi le KeyListener ne fonctionne pas?
    Bonjour tout le monde, j'essaie à faire un TextField qui peut limiter la longeur de la chaîne de caractère.

    Dans mon programme, j'ai mis:
    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
    20
    21
    import java.awt.*;
    import java.awt.event.*;
    public class TestKeyEvent extends Frame implements KeyListener{
    ...
    ...
      TextField tf = new TextField(20);
      tf.addKeyListener(this);
      add(tf);
    ...
      public void keyTyped(KeyEvent ke){
        System.out.println("Action!");
      }
      public void keyPressed(KeyEvent ke){
        System.out.println("Action!");
      }
      public void keyReleased(KeyEvent ke){
        System.out.println("Action!");
      }
    ...
    ...
    }
    Mais j'exécute le programme et tape des caractères dans la champ, il n'affiche pas le message "Action" dans la fenêtre Console.
    Je ne sais pas pourquoi, quelqu'un peut m'aider svp?

    Merci !

  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    je ne saurais pas exactement dire pourquoi, mais je crois qu'il vaut mieux utiliser un DocumentListener pour les composants texte.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    Bonjour xavlours, merci pour votre réponse, je vais essayer cette interface ce soir, maintenant je suis à l'école.

  4. #4
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Bienvenue sur le forum !
    Première remarque, essai de lire les règles du forum pour voir comment il fonctionne. Je sais, c'est barbant, mais c'est essentiel, et cela t'aidera au futur pour mieux rechercher de l'aide. Ensuite, utilise la balise [code], représentée par # dans le formulaire d'édition de message, qui permet de mettre en forme ton code source, et c'est beaucoup plus lisible pour nos pauvres petits yeux.
    Pour ce qui est de ton problème, essai de passer à Swing, c'est plus récent, plus performant, bien documenté. Je vois que tu fais un Il ne faut pas ajouter des éléments graphiques (boutons, labels, etc) directement dans une Frame, mais pas l'intermédiaire d'un panel. Remplace ton code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getContentPane().add(tf);
    De plus, essai de regarder d'autres composants peut etre plus adapté, comme te l'a conseillé xavlours. C'est un problème courant, et une petite recherche comblera tes manques. Bonne chance. Si le problème persiste, n'hésite pas à nous faire signe

  5. #5
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Ah oui, j'avais pas vu que tu utilises awt ! Tu peux peut-être passer à Swing, sinon le DocumentListener et la méthode getContentPane() étant des trucs de Swing, ils n'existent pas dans AWT.

    Pour le listener, tu peux utiliser un TextListener, mais je ne connais pas.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    Merci Janitrix, je viens de m'inscrire sur ce forum, il y a encore des règles que je ne connais pas. Mais je les respecterai .

    Je lis le livre Java2 Primer Plus, et fais des exercices de chaque chapitre. Pour l'instant, je suis sur la chapitre AWT, mais je vais bientôt passer sur SWING.

    Et je suis un étudiant chinois, si j'ai fait des erreurs orthographiques, n'hésitez pas de me les indiquer

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/08/2006, 19h00
  2. [VB.Net/DataReader] Pourquoi mon ExecuteReader ne fonctionne pas ?
    Par emeraudes dans le forum Accès aux données
    Réponses: 8
    Dernier message: 21/08/2006, 13h38
  3. Pourquoi le "\n" ne fonctionne pas ?!
    Par bnadem35 dans le forum Langage
    Réponses: 8
    Dernier message: 13/06/2006, 23h49
  4. [javascript] pourquoi ce split de fonctionne pas ????
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/02/2006, 15h20
  5. [BCB5][FB1.5]Pourquoi cette commande ne fonctionne pas ?
    Par Sitting Bull dans le forum Débuter
    Réponses: 1
    Dernier message: 17/11/2004, 16h27

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