Wie suche ich ein Element in einem JTable Java?

10

Ich habe eine JTable in Java erstellt. Ich kann alles tun, außer ein Element in meiner Tabelle zu suchen. Ich möchte einen Eingabedialog bearbeiten, also habe ich in diesem Moment folgendes:

%Vor%

Ich dachte, es mit einer for-Schleife zu machen. aber ich weiß nicht wie. Kann mir jemand helfen?

    
user3332136 27.02.2014, 10:56
quelle

5 Antworten

35

Sie möchten wahrscheinlich ein RowFilter verwenden, um die Suchergebnisse zu filtern. Unten sehen Sie ein Beispiel mit RowFilter und DocumentListener . Wenn der Benutzer eingibt, werden die Zeilen dynamisch gefiltert.

Siehe RowFilter api und DocumentListener api. Wenn Sie die dynamische Filterung nicht mögen, können Sie einfach mit der Schaltfläche bleiben, oder Sie können ActionListener zum JTextField hinzufügen, wenn also Enter gedrückt wird, wird der Filter verarbeitet . Der Code, den Sie in den Listener-Rückruf ( actionPerformed ) eingeben würden, wäre einfach

%Vor%

%Vor%     
Paul Samsotha 27.02.2014 11:36
quelle
2

Das Modell einer JTable ist der Ort, an dem die Daten gespeichert werden. Wenn Sie danach suchen, sollten Sie prüfen können, ob sie enthält, was Sie wollen :

%Vor%

Viel Glück!

    
Levenal 27.02.2014 11:04
quelle
0

Hier sehen Sie ein Beispiel für das Suchen von Text aus JTable in JTextField

Quelle: Tabelle nach dem Text in einem TextField filtern

%Vor%     
Not a bug 27.02.2014 11:20
quelle
0

Nur eine Anmerkung Wenn Sie nach dem Sortieren valueAt erhalten, wird der ORIGINAL-Zeilenindex zurückgegeben. (welches das falsche Objekt sein wird) In diesem Fall können Sie Folgendes verwenden: JTable-API

%Vor%

Dies übersetzt den sortierten Zeilenindex in die ursprüngliche Zeile

    
Kreator 20.08.2016 10:42
quelle
0

Sie können diese Klasse und Aufruf-Funktion mit jtable Variable und Jtext Feldparameter sollte übergeben an Funktion. hoffe voll und genieße Code

%Vor%

}

    
Madhuka Dilhan 17.02.2018 11:07
quelle

Tags und Links