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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé 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
    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 éprouvé
    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
    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
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    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 éprouvé
    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
    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
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    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
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    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.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/08/2014, 22h48
  2. associer plusieurs événements à un button
    Par sky88 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 31/08/2009, 14h59
  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, 22h58
  4. Réponses: 3
    Dernier message: 17/08/2006, 12h30
  5. [ImageMagick] Associer plusieurs images
    Par Anduriel dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 08/10/2005, 17h29

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