2010-07-12 5 views
2

J'ai un JTable avec des en-têtes de colonnes. Lorsque je clique sur un en-tête de colonne, les données sont triées. C'est le comportement de tri par défaut. Le fait est que je dois me souvenir de la dernière colonne sur laquelle l'utilisateur a cliqué pour trier. Quelqu'un sait quel écouteur je dois implémenter afin d'attraper le nom de la colonne que l'utilisateur a cliqué pour trier sur le JTable?Java Swing JTable tri

Le code est déjà implémenté et je suis nouveau sur Swing. J'ai juste besoin d'ajouter cette fonctionnalité supplémentaire. Donc, tous les indices seront utiles.

Merci d'avance.

Répondre

1

Vous pouvez ajouter un MouseListener à JtableHeader. Ensuite, vous utilisez simplement la méthode columnAtPoint (...) pour déterminer quand une colonne est cliquée.

+0

Merci pour cette réponse. Alors maintenant, comment puis-je trier manuellement une colonne qui va simuler un utilisateur en cliquant sur une colonne? Je ne peux pas trouver une méthode qui fera ça. Dois-je déclencher manuellement un événement MouseClicked? – Marquinio

+0

voir la méthode sort() de DefaultRowSorter. – camickr

1

Utilisez les composants Swing-X, il existe un JXTable qui est plus puissant que JTable.

+2

Bien que ce soit une bonne suggestion, il ne répond pas à la question. –

Questions connexes