Ursprung des DocumentListeners rausbekommen?

Status
Nicht offen für weitere Antworten.
G

Gerrit

Gast
Hi,

hab zwei Textfelder. Wenn jetzt in dem einen Textfeld was geändert wird, werden die beiden Funktionen für beide Textfelder ausgelöst, weil es ja nur eine Funktion "insertUpdate" gibt. Dies darf aber nicht passieren. Es soll vorher unterschieden werden, welches Textfeld sich geändert hat und dann auch nur die entsprechende Fkt. geladen werden.
Beim ActionListener ist dies ja einfach über Einlesen des ActionCommand's lösbar.
Nur wie bekomm ich das beim DocumentListener hin?

Danke für eure Hilfe!
 

hugo

Bekanntes Mitglied
Da DokumentListener ja nur eine Schnittstelle ist, musst du dir ja deine eigene Klasse geschrieben haben. Warum nimmst du dann nicht für jedes Textfeld einen eigenen Domcumentlistener?

Bsp.:
Code:
TextFeld1.addListener(new meinDocumentListener());
TextFeld2.addListener(new meinDocumentListener());
 
G

Guest

Gast
zur zeit hab ich es so

Code:
view.getJTextField().getDocument().addDocumentListener(this);
view.getJTextField1().getDocument().addDocumentListener(this);

und dann weiter unten direkt die Methoden

Code:
public void insertUpdate(DocumentEvent arg0) {
		int pos = view.getJTabbedPane().getSelectedIndex();
		EditorSceneModel scene = (EditorSceneModel)view.getSceneVector().get(pos);
		
		if(scene.backdrop.image != null) {
			((EditorTextModel)(view.getJTextField())).saveBackdropErrorText();
		}
		
		if((scene.casts.size()) != 0) {
			((EditorTextModel)(view.getJTextField1())).saveCastErrorText();
		}
}

und was muss ich jetzt ändern?
Also wenn ich dann zwei Instanzen meines eigenen Listeners baue muss der doch auch die selben Methoden haben, weil er ja für beide passen muss? Und dann hab ich doch dasselbe Problem oder?
 
G

Gerrit

Gast
Also jetzt hab ich es glaub doch verstanden ;)...es geht auf jeden fall mit zwei unterschiedlichen Listenern also zwei neuen Klassen. oder geht es auch nur mit einer einzigen wie in eurem Bspl.?
der getDocument Befehl muss aber noch dazwischen?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben