Bonjour à tous,
afin de pouvoir trier les colonnes de mon tableau, j'ai rajouté les instructions suivantes :
Le problème est que le tri à un comportement identique pour chacune de mes colonnes.
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);
Or, je voudrais trier d'une certaine façon pour une certaine colonne donnée.
En cherchant, j'ai trouvé ceci :
mais comment faire pour spécifier à la place de SortOrder.ASCENDING mon propre tri?
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);
En créer un objet de type :
je pourrais redéfinir mon tri mais comment lui dire qu'il ne doit s'appliquer qu'à la première colonne?
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]); } };
Merci d'avance
Partager