Tri spécifique sur colonne
Bonjour à tous,
afin de pouvoir trier les colonnes de mon tableau, j'ai rajouté les instructions suivantes :
Code:
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:
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:
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