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 :

ajouter keyListener à JTable


Sujet :

Composants Java

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 209
    Par défaut ajouter keyListener à JTable
    je voulais gerer les celulles de mon tableau JTable on m'a dit de faire :
    une classe qui herite de JTable et dans laquelle tu redefinis ta methode processKeyBinding
    j'ai crée ma classe (myTable)redifinit la méthode et ensuite j'ai pas pu l'utiliser. moi j'ai une autre classe qui contient mon tableau à laquel j'ai voulu faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addKeyListener(myTable)
    ça ne marche pas et j'ai voulu utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myTable.processKeyBinding
    mais je savais pas quoi mettre en paramètres
    est ce que quelqu'un aurais un élement de réponse à cette situation.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Arrête moi si je me trompe mais le KeyListener c'est à ta table myTable que tu veux l'ajouter.
    addKeyListener est une méthode de ta classe qui étend JTabel donc pour l'utiliser il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myTable.addKeyListener(keyListener);
    Là j'ai l'impression que tu passes une JTable en argument.
    Ensuite le keyListener tu le redéfinis avec les trois méthodes en faisant apr exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    new KeyListener(){
    	public void keyPressed(KeyEvent e) {
    //blablabla
    	}
    	public void keyReleased(KeyEvent e) {
    //gnagnagna				
    	}
    	public void keyTyped(KeyEvent e) {
    //pouet		
    	}
    }
    Quand tu dis que ca marche pas, c'est que ca fait une erreur ou rien du tout ?

    EDIT : je viens de voir l'autre sujet où tu avais posé ta question, c'est une autre méthode qu'on te propose, mais ca peut passer comme ca je pense si tu définis la méthode keyPressed, tu fais ton test pour voir si c'est la touche entrée et tu effectues ton traitement

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 209
    Par défaut
    1- myTable est la classe qui étend JTable et contient le redefinition de la méthode ma table et jTable1
    2- quand je dis ça marche pas je tape n'importe quelle touche aucun effet mais j'ai pas d'erreur

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ok donc tu étends une JTable, mais quand tu écris :
    Citation Envoyé par noussa_nouha
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addKeyListener(myTable)
    ca sous entend pour moi que ton KeyEvent est aussi implémenté par myTable, c'est le cas ?
    Citation Envoyé par noussa_nouha
    la méthode ma table et jTable1
    C'est-à-dire ? quelles sont ces méthodes. Si tu fais référence à l'autre sujet, ca va être tendu, il vaut mieux continuer dans l'autre plutôt qu'en créer un nouveau...

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 209
    Par défaut
    oublie tout et on recommence dès le début.
    comment je fais pour ajouter un KeyListener à un JTable sachant que je veux definir moi même le traitemant à faire en tapant certaine touche?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tu peux le faire comme indiqué ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    maTable.addKeyListener(new KeyListener(){
    	public void keyPressed(KeyEvent e) {
    //blablabla que faire si une touche pressée
    	}
    	public void keyReleased(KeyEvent e) {
    //gnagnagna que faire si une touche est relachée
    	}
    	public void keyTyped(KeyEvent e) {
    //pouet que faire si une touche est tapée
    	}
    });
    Je pense que dans ton cas seule la premi?ere des trois méthodes te sera utile, il te suffit de laisser vide le corps des deux autres.
    Si tu veux savoir quelle touche a été pressée, tu fais dans ta méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e.getKeyCode() == KeyEvent.VK_***
    Attention le getKeyCode() renvoie toujours 0 dans la méthode keyTyped.
    J'espère que ca t'ira
    A plus

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 209
    Par défaut
    merci infiniment maintenant je pourrai terminer le travail
    ça marche

  8. #8
    Invité
    Invité(e)
    Par défaut
    De rien, comme quoi quand on met les choses à plat, on y voit plus clair

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

Discussions similaires

  1. Ajout dans JTable
    Par lepieux dans le forum Débuter
    Réponses: 2
    Dernier message: 25/08/2013, 00h36
  2. ajoute un jtable dans un autre jtable !
    Par riamo dans le forum Composants
    Réponses: 2
    Dernier message: 19/05/2013, 21h10
  3. Ajout colonne JTable
    Par titou31000 dans le forum Composants
    Réponses: 9
    Dernier message: 10/12/2012, 16h44
  4. Ajouter ligne à JTable héritée d'AbstractTableModel
    Par bender86 dans le forum Composants
    Réponses: 4
    Dernier message: 01/11/2011, 13h21

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