merci C'est réglé.
puisque les données de la JTable sont par défaut des Objects ,donc lorsque vous utilisez la methode de tri automatique
table.setAutoCreateRowSorter(true);
il va traiter chaque colonne comme étant des objects,donc pour les colonnes d'entiers le tri va etre faux.prenons un petit exemple d'une colonne d'entier de 4 enregistrements:
{4,20,1,8} ==>apré le tri (croissant) elle va nous afficher {1,20,4,8}
ce qui est évidement faux ,donc il nous faut changer le type de cette colonne en Integer.
et comme VISIWI a dit ,il suffit de redéfinir la méthode getColumnClass et renvoyer le type que vous voulez en fonction du paramètre
voilà un code
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| JTable table=new JTable();
table.setModel(new javax.swing.table.DefaultTableModel(datas,colName){
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.String.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
table.setAutoCreateRowSorter(true); |
ce code nous dit que la premiere colonne est de type entier et la 2eme de type chaine de caractere
Partager