Bonjour à tous,

afin de pouvoir trier les colonnes de mon tableau, j'ai rajouté les instructions suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
final TableRowSorter<ModelData> sorter = new TableRowSorter<ModelData>((ModelData)table.getModel());   
table.setRowSorter(sorter);
Le problème est que le tri à un comportement identique pour chacune de mes colonnes.

Or, je voudrais trier d'une certaine façon pour une certaine colonne donnée.

En cherchant, j'ai trouvé ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
List <RowSorter.SortKey> sortKeys 
    = new ArrayList<RowSorter.SortKey>();
sortKeys.add(new RowSorter.SortKey(1, SortOrder.ASCENDING));
sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING));
sorter.setSortKeys(sortKeys);
mais comment faire pour spécifier à la place de SortOrder.ASCENDING mon propre tri?

En créer un objet de type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Comparator<String> comparator = new Comparator<String>() {
    public int compare(String s1, String s2) {
        String[] strings1 = s1.split("\\s");
        String[] strings2 = s2.split("\\s");
        return strings1[strings1.length - 1]
            .compareTo(strings2[strings2.length - 1]);
    }
};
je pourrais redéfinir mon tri mais comment lui dire qu'il ne doit s'appliquer qu'à la première colonne?

Merci d'avance