J'ai un JTable
et un TableRowSorter
que je souhaite effectuer une opération après un tri est terminé. J'ai parcouru le net, et jusqu'ici je n'ai pas eu beaucoup de chance.Exécution d'une action après une opération RowSort
Initialement, je pensais qu'un simple RowSorterListener
ferait l'affaire, mais malheureusement, il n'effectue pas l'opération une fois le tri terminé.
Ajout d'un MouseListener
à l'en-tête JTable
pourrait fonctionner, mais la solution n'est pas très élégante.
Quelqu'un a-t-il des idées?
Merci beaucoup!
Modifier (de commentaire): Il est ajouté dans un procédé à l'intérieur d'une classe personnalisée TableModel
qui se prolonge AbstractTableModel
. Cette méthode est invoquée chaque fois que JTable
est défini/spécifié dans la classe personnalisée TableModel
.
sorter.addRowSorterListener(new RowSorterListener() {
@Override public void sorterChanged(RowSorterEvent rowsorterevent) {
rebuildMItems(); // The method which executes
}
});
'RowSorterListener' devrait fonctionner. pouvez-vous montrer comment vous ajoutez RowSorterListener et l'implémentation de votre méthode 'sorterChanged'? – akf
Akf, merci pour votre aide. Ce qui suit est ajouté dans une méthode à l'intérieur d'une classe 'TableModel' personnalisée qui étend' AbstractTableModel'. Cette méthode est invoquée chaque fois que 'JTable' est défini/spécifié dans la classe personnalisée' TableModel'.
Rien de bien excitant cependant: P –Oups, on dirait que la mise en forme a mal tourné. Pouvez-vous dire que je suis nouveau sur Stack Overflow? :) –