2011-10-16 2 views
1

J'ai implémenté un JTable dans JScrollpane. J'ai ajouté MouseListener au JTable, donc ça marche bien avec MouseListener. Maintenant, mon problème est, la sélection de ligne change par les touches fléchées du clavier (flèches haut/bas) et n'appelle pas les méthodes que j'ai déjà implémentées avec MouseListener. Donc, je veux juste supprimer la sélection JTable par les flèches du clavier.Supprimer la sélection de ligne par les touches fléchées dans jtable

Veuillez m'aider.

Répondre

8

Les composants Swing utilisent Key Bindings pour appeler une action lors de la saisie d'un KeyStoke.

En lisant le lien tutoriel ci-dessus, vous devriez être en mesure de supprimer les raccourcis clavier en utilisant le code comme:

InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); 
im.put(KeyStroke.getKeyStroke("DOWN", 0), "none"); 

Je vais vous laisser gérer la clé vers le haut.

+0

Hey man ........ merci beaucoup, son fonctionnement ..... grand – Raj

+0

Pour la clé du haut, je viens de modifier ce qui précède: im.put (KeyStroke.getKeyStroke ("UP"), "aucun"); et son fonctionnement ..... u r brillant ..... encore une fois :-) – Raj

+1

@Raj vous pouvez accepter la réponse de camickr pour montrer votre appréciation. :) –

2

JTable a ListSelectionModel. Vous pouvez l'obtenir avec la méthode getSelectionModel(). Ensuite, vous pouvez ajouter ListSelectionListener à ListSelectionModel par la méthode addListSelectionListener (ListSelectionListener).

Questions connexes