C
Camino
Gast
Hallo,
ich bin gerade dabei, mir einen Dialog in meiner Swing-Anwendung zu bauen, der drei Texteingabefelder (JTextField) und eine Ausgabeliste (zur Zeit JList, wird aber evtl. noch zur JTable) beeinhalten. Zum Start des (modalen) Dialogs werden von der Datenbank Daten in eine ArrayList geschrieben, die in der Ausgabeliste angezeigt werden. Mit den 3 Texteingabefeldern soll die Ausgabeliste gefiltert werden, d.h. sofort nach Eingabe eines Buchstabens soll die Liste mit den gefilterten Datensätzen angepasst werden. Ich hab jetzt erst mal auf ein Textfeld einen DocumentListener gelegt und nun eine Klasse MyDocumentListener, die DocumentListener implementiert. Dort sind die Methoden, die auf Änderung im Textfeld reagieren (insert, remove). Mit dem einen Textfeld klappt das mittlerweile auch. Nun möchte ich ja auf die restlichen beiden Textfelder auch den Listener legen. Wie kann ich denn erkennen, von welchem der drei Textfelder nun der Event ausgelöst wurde? Ich bekomme zwar das Dokument ausgegeben als javax.swing.text.PlainDocument@1c0bee6 (was ja eigentlich das Textfeld ist), aber wie kann ich von diesem getDocument den Namen des aufrufenden Textfeldes erkennen?
Als nächstes muss ich dann wohl einen Filter für die Ausgabeliste (also für die ArrayList) schreiben. Aber dazu melde ich mich dann wieder, wenn ich soweit bin...
Viele Grüsse
Camino
ich bin gerade dabei, mir einen Dialog in meiner Swing-Anwendung zu bauen, der drei Texteingabefelder (JTextField) und eine Ausgabeliste (zur Zeit JList, wird aber evtl. noch zur JTable) beeinhalten. Zum Start des (modalen) Dialogs werden von der Datenbank Daten in eine ArrayList geschrieben, die in der Ausgabeliste angezeigt werden. Mit den 3 Texteingabefeldern soll die Ausgabeliste gefiltert werden, d.h. sofort nach Eingabe eines Buchstabens soll die Liste mit den gefilterten Datensätzen angepasst werden. Ich hab jetzt erst mal auf ein Textfeld einen DocumentListener gelegt und nun eine Klasse MyDocumentListener, die DocumentListener implementiert. Dort sind die Methoden, die auf Änderung im Textfeld reagieren (insert, remove). Mit dem einen Textfeld klappt das mittlerweile auch. Nun möchte ich ja auf die restlichen beiden Textfelder auch den Listener legen. Wie kann ich denn erkennen, von welchem der drei Textfelder nun der Event ausgelöst wurde? Ich bekomme zwar das Dokument ausgegeben als javax.swing.text.PlainDocument@1c0bee6 (was ja eigentlich das Textfeld ist), aber wie kann ich von diesem getDocument den Namen des aufrufenden Textfeldes erkennen?
Als nächstes muss ich dann wohl einen Filter für die Ausgabeliste (also für die ArrayList) schreiben. Aber dazu melde ich mich dann wieder, wenn ich soweit bin...
Viele Grüsse
Camino