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 :

Fonctionner les touches du clavier avec l'application


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Par défaut Fonctionner les touches du clavier avec l'application
    Salut
    Je suis en train de developper une application java avec netBeans et Swing.
    J'ai un jTextfield qui contient le code du client et un bouton suivant pour passer au client suivant ça va ça marche.
    Le problème maintenant, est que je veux passer au code suivant en appuyant sur la touche du clavier down(celle près du clavier numérique)
    Comment jepeux résoudre le problème?
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    Le principe est d'utilisé une AbstractAction. Cette classe doit redéfinir une méthode actionPerformed(...).

    Le gain n'est pas négligeable, avec la même action :
    Tu peut associer a un bouton, un item du menu, une touche clavier avec un composant...

    Tu peut associer une touche a un composant et une touche a une action, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.getInputMap(JComponent.WHEN_FOCUSED).put(key, name);
    this.getActionMap().put(name, action);
    name est une sorte d'identifiant String
    action est ton Action (AbstractAction)
    key est un KeyStroke (touche clavier)

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    KeyStroke.getKeyStroke(KeyEvent.VK_TAB, InputEvent.SHIFT_DOWN_MASK);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
    Tu doit aussi savoir a quel composant tu peut associer la touche , ton textField ? a toi de regarder ça.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Par défaut
    Merci
    La touche du clavier n'est pas relative à une action d'un composant.
    Lorsque je clique sur la touche du clavier un traitement se produit( automatiquement on passe au code suivant).

    svp veuillez m'expliquer plus sur le code est ce que je crée uneclasse AbstractAction ou non?

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Citation Envoyé par RouRa22 Voir le message
    Merci
    La touche du clavier n'est pas relative à une action d'un composant.
    Lorsque je clique sur la touche du clavier un traitement se produit( automatiquement on passe au code suivant).
    Oui mais la méthode que je t'ai donné t'impose une relation a un composant. Dans le code que je t'ai donnée this représente ce composant.

    Citation Envoyé par RouRa22 Voir le message
    svp veuillez m'expliquer plus sur le code est ce que je crée une classe AbstractAction ou non?
    La méthode que je t'ai donné, comporte de nombreux avantages, expérimente pour savoir si elle te convient, mais je te l'a conseil. Avec les pistes que je t'ai données, Google te permettra de tomber sur des tuto sur le sujet, par exemple :
    action

  5. #5
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Salut !

    un truc comme ça devrait marcher (si j'ai bien compris la question) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void jTextField1MouseReleased(java.awt.event.MouseEvent evt) {                                                  
            if (evt.getKeyCode() == KeyEvent.VK_DOWN)  {
                     ... ici le code qui est dans ton bouton             
            }
    }
    bonne chance !

Discussions similaires

  1. Déplacer une courbe avec les touches du clavier
    Par juliette78 dans le forum MATLAB
    Réponses: 7
    Dernier message: 20/03/2014, 11h51
  2. Réponses: 1
    Dernier message: 12/05/2011, 14h34
  3. Se déplacer avec les touches du clavier
    Par Scr4m03 dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/01/2010, 18h07
  4. Simuler la souris avec les touches du clavier
    Par Jérôme5 dans le forum Visual C++
    Réponses: 2
    Dernier message: 20/04/2009, 11h32
  5. Valider avec les touches du clavier
    Par pierrot67 dans le forum Bases de données
    Réponses: 8
    Dernier message: 17/02/2006, 08h22

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