TableRowSorter (Java API)
Der TableRowSorter
ist ein RowSorter der speziell für die Verwendung mit einem JTable geschrieben wurde.
Üblicherweise wird die Methode getColumnClass vom zu sortierenden TableModel benutzt, um herauszufinden, welcher Typ Objekte in einer Spalte angezeigt werden. Besitzt der Typ eine natürliche Sortierung (durch das Interface Comparable
angezeigt), so wird diese Sortierung verwendet. Andernfalls werden die Zellen in String
umgewandelt, und alphabetisch geordnet.
Man kann allerdings mit der Methode setComparator für jede einzelne Spalte angeben, welcher Comparator
verwendet werden soll, um zwei Zellen zu vergleichen.
Zusätzlich kann man einen TableStringConverter
setzen, der jede Zelle der Tabelle in einen String umwandeln kann, dabei aber nicht denselben String produzieren muss, wie in der JTable angezeigt wird.