-
Problème de JScrollPane
Bonjour à tous,
J'ai une JTable munie d'un JScrollPane.
Voilà mon problème, quand j'ai sélectionné une ligne de la table et que je trie la table, le JScrollPane ne bouge pas, et du coup je ne vois plus la ligne que j'avais sélectionné.. J'ai cherché pendant qqs heures sur le net une solution et je n'ai rien trouvé qui marche.. si quelqu'un a une idée.
Merci bcp.
-
D'après la doc, tu dois plutôt agir sur le viewport du scrollpane. La classe JViewport (scrollpane.getViewport()) définie une méthode qui devrait t'intéresser : setViewPosition().
-
J'avais regardé la doc, j'ai essayé bcp de choses, mais rien n'y fait.. je vois vraiment pas..
Merci pour ta réponse en tout cas.
-
Tu veux dire que ça ne marche pas ? Je viens d'essayer, setViewportPosition() permet bien de déplacer le viewport vers la zone du document qu'on veut rendre visible.
Ton problème est que tu n'appelle peut-être pas cette méthode au bon endroit. La deuxième chose est que le fait de changer l'ordre des cellules supprime peut-être la sélection précédente (est-ce le cas, je n'ai pas regardé ?).
-
En effet, le tri enlevait la sélection, mais j'ai résolu ce problème, je vais retenter la commande setViewportPosition(), je vais essayez de la mettre à chaque fois que la sélection est modifée.. mais c'est pas évident de l'utiliser car en argument faut mettre un paramètre de type Point.. donc ça se complique.. :(
-
Wé, le plus important "garder les yeux" sur la cellule sélectionnée avant le tri. Il faut ensuite que tu utilises le TableCellRenderer. Apparemment, il n'y en a qu'un seul pour une JTable. En revanche, avec getTableCellRendererComponent(), tu peux récupérer le composant graphique correspondant à une cellule et ensuite appeler getPosition().
Ou plus simplement, tu pourrais aussi appeler getCellRect() défini dans JTable, et retrouver [x, y] à partir de l'objet Rectangle.
-
Ok merci !!
Je vais essayer de voir ça au plus vite !