Access Keys:
Skip to content (Access Key - 0)

Cette page décrit comment réaliser le tri et le filtrage d'une JTable.

Le tri et le filtrage d'une JTable peuvent être fait simplement à partir du JDK6. Il faut pour cela utiliser les classes suivantes :

  • RowSorter
  • TableRowSorter
  • RowFilter

En pratique, pour trier les lignes d'une JTable, il faut passer le TableModel au constructeur du TableRowSorter. Il faut ensuite passer le RowSorter ainsi créé à a méthode setRowSorter() de la JTable. Voilà un exemple illustrant l'utilisation du TableRowSorter :

Pour filtrer les lignes d'une JTable, il suffit d'associer un RowFilter à un TableRowSorter. Le RowFilter fournit permettant de créer des filtres :

  • andFilter(Iterable<? extends RowFilter<? super M,? super I>> filters)
  • dateFilter(RowFilter.ComparisonType type, Date date, int... indices)
  • notFilter(RowFilter<M,I> filter)
  • numberFilter(RowFilter.ComparisonType type, Number number, int... indices)
  • orFilter(Iterable<? extends RowFilter<? super M,? super I>> filters)
  • regexFilter(String regex, int... indices)

Voilà un exemple montrant comment utiliser le RowFilter :

Adaptavist Theme Builder (4.2.3) Powered by Atlassian Confluence 3.5.5, the Enterprise Wiki