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

EDT/SwingWorker Java Discussion :

Peut-on combiner plusieurs évènements associés à plusieurs touches dans un KeyListener ?


Sujet :

EDT/SwingWorker Java

  1. #1
    Membre du Club Avatar de blackhock
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 75
    Points : 41
    Points
    41
    Par défaut Peut-on combiner plusieurs évènements associés à plusieurs touches dans un KeyListener ?
    Bonjour à tous,
    Je viens vous voir avec une question simple mais qui me taraude l’esprit, malgré mais recherches sur le net je ne trouve pas encore de réponse !!!
    « Peut-on combiner plusieurs évènements associés à plusieurs touches dans un KeyListener ? », je m’explique :
    Je veux afficher « Salut » à l’écran, dans mon code j’ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void keyTyped(KeyEvent event) {
    if ((event.getKeyChar() == 'S')
    				&& (event.getKeyChar() == 'a')
    				&& (event.getKeyChar() == 'l')
    				&& (event.getKeyChar() == 'u'))
    				&& (event.getKeyChar() == 't'))
    			System.out.println("Salut");
    }
    Mon but est de reconnaitre une série de caractère taper au clavier (l’ordre n’étant pas important) pour exécuter un code, mais voila en faisant ça je n’ai rien, en changeant les && par des | |, dès que je tape un seul caractère le code s’exécute, mais ce n’est pas mon objectif, ce que je veux vraiment c’est exécuté le code qu’après tapé tout mes caractères.
    Merci pou toute idée ou aiguillage.
    Bonne journée à tous.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 119
    Points : 192
    Points
    192
    Par défaut
    Salut,
    keyTyped est appelée une fois pour chaque caractère tapé au clavier. Si tu veux détecter une suite de caractères tapés, il faut que tu enregistres les N (N=4 pour « Salut ») derniers caractères, et dans keyTyped, tu regardes si on a entré ton mot.

  3. #3
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    pour récupérer ce qui a été tapé au clavier tu dois procéder comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    InputStreamReader input = new InputStreamReader(System.in);
    BufferedReader clavier =new BufferedReader(input);
    String line = clavier.readLine();

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 119
    Points : 192
    Points
    192
    Par défaut
    Ceci permet de récupérer ce que tu tapes sur la console. Si tu as une interface graphique, il faut passer par des listener.

  5. #5
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    si j'ai bien compris ,ton but est de reconnaitre une série de caractère taper au clavier ,alors tu peut procéder comme ça .je comprend pas pourquoi tu cherche autrement

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Slim_java: la question est posée dans le forum awt, quand tes dans un GUI, tu n'a généralement pas d'inputstream, et t'as pas envie de forcer ton utilisateur à basculer vers la console pour faire une opération puis revenir vers les fenetres pour la suite! Le system.in n'a aucun intérêt en AWT / swing, il faut passer par les key listeneners et autres.

  7. #7
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    merci pour l'info

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Pour des actions complexes de ce genre le KeyListener n'est pas forcement la bonne solution. Mieux faut aller voir du cote de :
    • KeyStroke - qui permet de definir des combinaisons de touches y compris avec des modificateurs tels que SHIFT, CTRL, etc.
    • InputMap/ComponentInputMap- qui permet d'associer un KeyStroke a un objet (generalement un mot-cle).
    • ActionMap - qui permet d'associer un objet (generalement a un mot cle) a une Action.


    La plupart des composants Swing supportent ces concepts.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Membre du Club Avatar de blackhock
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 75
    Points : 41
    Points
    41
    Par défaut
    Merci pour vos réponses
    Bonne journée à tous

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/08/2014, 21h48
  2. associer plusieurs événements à un button
    Par sky88 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 31/08/2009, 13h59
  3. [MySQL] UNE date pour plusieurs dates et UN évènement pour plusieurs évènements...
    Par Aliosha dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 19/03/2007, 21h58
  4. Réponses: 3
    Dernier message: 17/08/2006, 11h30
  5. [ImageMagick] Associer plusieurs images
    Par Anduriel dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 08/10/2005, 16h29

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