Zunächst wird der Inhalt der Tabelle in ein Objekt der Klasse DefaultTableModel geladen. Dem Modelkonstruktor werden hierbei zwei Arrays übergeben: ein zweidimensionales für den Inhalt und ein eindimensionales für die Spaltenüberschriften des Kopfes. Das Model wird bei der Initialisierung der JTable als Parameter übergeben.
Die folgende Zeile zeichnet ein Gitter zur Trennung von Zeilen und Spalten. Hierbei ist zu beachten, dass die Standardfarbe des Gitters weiß ist, sodass die Linien bei einem weißen Hintergrund nicht zu sehen sind. Aus diesem Grund muss die Gitterfarbe geändert werden. Aus ästhetischen Gründen kann auch der Kopf der Tabelle eingefärbt werden.
Die Möglichkeit zur Sortierung der Tabelle durch Anklicken eines Spaltenkopfes kann auf zweierlei Weise eingerichtet werden:
- Die hier gezeigte Variante ruft eine selbst erstellte Methode enableSorting(JTable table) auf, die in der Folge kommentiert wird.
- Die zweite Variante besteht darin, auf dem Tabellenobjekt die Methode JTable.setAutoCreateRowSorter(boolean enable) aufzurufen.
Der Tabelle wird der TableRowSorter und diesem das Tabellenmodell übergeben.
Auskommentiert ist zum Schluss eine Zeile, in der ein Filter eingebunden wird. Die Klasse RowFilter deklariert hierzu einige statische Methoden, die es ermöglichen, unterschiedliche Filterweisen vorzunehmen. So kann nach Zahlen, Datumsangaben, etc. gefiltert werden. Hier wird ein regulärer Ausdruck verwendet, der die Einträge nach einer Silbe filtert.