DocumentListener - Wohin damit?

Hey Leute,

ich bastel mir gerade einen IP-Rechner (netBuddy). Ist auch alles soweit kein Problem, berechnungen funktionieren, GUI sieht gut aus, alles klar soweit.

Jetzt wollte ich einen DocumentListener ins spiel bringen, um die Berechnung neu zu starten, wenn sich ein Wert ändert.

Nun meine blöde Frage, da Google und Foren-SuFu mit nicht geholfen haben:

Wohin mit dem Code dafür? (Also x implements documentListener, Anmeldung der TextFields, überschriebene Methoden)

Ich hab 3 Dateien:
- netBuddyFrame.java (Nur die GUI)
- netBuddyMain.java (Startet die GUI)
- netBuddyTask.java (Die Berechnungen an sich)

Hab schon stundenlang alles mögliche ausprobiert, funzt alles iwie nicht.

MfG

FallenAngelNRW
 

eRaaaa

Top Contributor
Ein DocumentListener gehört (wie der Name schon sagt) an ein Dokument...
textfeld.getDocument.addDocumentListener(...)

Ob du nun eine anonyme innere Klasse, den DocumentListener implementierst und addDoc..(this) aufrust, deine eigene ListenerKlasse erstellst ist dir überlassen *g*

Schau doch auch mal hier rein : klick
 
Also könnte ich in die netBuddyMain.java folgendes reinschreiben... (?)


Java:
public class netBuddyMain implements documentListener {  // Implementieren des Interfaces

...


netBuddyFrame.textFeld2.getDocument().addDocumentListener(this); // Anmelden des Listeners

...

        @Override // Überschreiben der Interface-Methoden
	public void changedUpdate(DocumentEvent e) {
		berechnen();
	}

	@Override // Überschreiben der Interface-Methoden
	public void insertUpdate(DocumentEvent e) {
		berechnen();
	}

	@Override // Überschreiben der Interface-Methoden
	public void removeUpdate(DocumentEvent e) {
		berechnen();
	}
 

eRaaaa

Top Contributor
Sieht meiner Meinung nach funktionsfähig aus(wenn du noch das "d" groß schreibst bei DocumentListener)

Aber wieso probierst du es denn nicht aus? Oder was ist jetzt die Frage?(in Bezug auf den Listener)
 
Java:
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class netBuddyMain implements DocumentListener {
	public static void main(String[] args) {
		
	netBuddyMain nbm = new netBuddyMain();
	
	netBuddyFrame.textField2.getDocument().addDocumentListener(this); // Anmelden des Listeners
 
	nbm.calculate();
	
	}
	
	 public void calculate() {

		netBuddyFrame nbf = new netBuddyFrame(); // Erstellung der GUIz

		{	// Berechnungen --------------------------------------------------
			
			...
			...
			...
			
		}	// ----------------------------------------------------------------
	
	}
		
	@Override
	public void changedUpdate(DocumentEvent e) {
	}

	@Override
	public void insertUpdate(DocumentEvent e) {
	}

	@Override
	public void removeUpdate(DocumentEvent e) {
	}
		
}

Code:
H:\netBuddyMain.java:10: non-static variable this cannot be referenced from a static context

	netBuddyFrame.textFeld2.getDocument().addDocumentListener(this); // Anmelden des Listeners

	                                                          ^
H:\netBuddyMain.java:10: cannot find symbol

symbol  : variable textField2

location: class netBuddyFrame

	netBuddyFrame.textField2.getDocument().addDocumentListener(this); // Anmelden des Listeners

	             ^
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Bau die Klasse so um, dass in der static void main nur eine Zeile drin steht:
Java:
netBuddyMain nbm = new netBuddyMain();
>>> Klassennamen beginnen üblicher Weise mit Grossbuchstaben. <<<

Den DocumentListener übergibst Du im Konstruktor von netBuddyMain an den Frame bzw. dessen Textfeld

Dass in calculate jedes mal ein neuer Frame erzeugt wird ist sicherlich nicht notwendig und bestimmt auch nicht gewünscht.
 
Ungefähr so?

1) Die gesamte Berechnung hab ich jetzt in die netBuddyTask.java gelegt, aber wie kann ich auf die einzelnen Instanzfelder etc zugreifen?

2) In den Überschriebenen Methoden möchte ich die Berechnung der netBuddyTask aufrufen, aber wie geht das?


Java:
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class netBuddyMain implements DocumentListener {
	public static void main(String[] args) {
		
	netBuddyMain nbm = new netBuddyMain();
	
	
	}
	
	 netBuddyMain() {

		netBuddyFrame nbf = new netBuddyFrame(); // Erstellung der GUI
		
		nbf.textField2.getDocument().addDocumentListener(this); // Anmelden des Listeners für die Felder der IP-Adresse
...
		
	}
		
	@Override
	public void changedUpdate(DocumentEvent e) {
	}

	@Override
	public void insertUpdate(DocumentEvent e) {
	}

	@Override
	public void removeUpdate(DocumentEvent e) {
	}
		
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JTextField, DocumentListener, Fehler bei setText() Java Basics - Anfänger-Themen 3
J Aktivierung eines Buttons nach Eingabe in Textfeldern (DocumentListener) Java Basics - Anfänger-Themen 4
S DocumentListener Java Basics - Anfänger-Themen 2
D DocumentListener vorher kennen Java Basics - Anfänger-Themen 3
O DocumentListener -> Name des JTextFields bekommen Java Basics - Anfänger-Themen 2
S Wohin kommt das „abstract“? Vor oder nach „public“/ „private“ /... Java Basics - Anfänger-Themen 3
A Reader wohin werden Daten gespeichert? Java Basics - Anfänger-Themen 7
N Methoden Wohin mit einer Methode die in unterschiedlichen Klassen verwendet wird? Java Basics - Anfänger-Themen 5
N jpos.xml wohin damit? Java Basics - Anfänger-Themen 9
I Methoden Wohin gehört getImage()? Java Basics - Anfänger-Themen 1
nrg Wohin mit Factory Methoden? Java Basics - Anfänger-Themen 3
L Variable..aber wohin? Java Basics - Anfänger-Themen 16
L Externe Dateien, wohin? Java Basics - Anfänger-Themen 7
Hindi93 Neue Libs - wohin damit? Java Basics - Anfänger-Themen 7
G Singelton Fabriken - Wohin mit getInstance? Java Basics - Anfänger-Themen 15
A wohin mit der Main! Java Basics - Anfänger-Themen 2
K Wohin gehört in Eclipse ein jpeg-Bild ? Java Basics - Anfänger-Themen 4
G Wohin mit Konstanten? Java Basics - Anfänger-Themen 12
B Wohin mit der Main-Methode? HILFE! ("Exception in thr.) Java Basics - Anfänger-Themen 19
G Wohin Datenbank speichern? Java Basics - Anfänger-Themen 4
P Import jar files: Wohin? Java Basics - Anfänger-Themen 2
G Wohin Gui - Code? Java Basics - Anfänger-Themen 5
M Wohin mit den JAVA Libraries (spring, jalopy etc.) ? Java Basics - Anfänger-Themen 2
P wohin muss ich die packages kopieren? Java Basics - Anfänger-Themen 12
F POI-Anfänger, wohin mit dem poi.jar Java Basics - Anfänger-Themen 4
B javax entpacken - aber wohin? Java Basics - Anfänger-Themen 2
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
M Was muss ich verändern damit ich es so ausgegeben bekomme wie auf dem Foto? Java Basics - Anfänger-Themen 2
B Webhooks - was genau ist das und was kann damit JAVA Java Basics - Anfänger-Themen 5
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
B Java -Turtle Grafik - kennt sich jemand damit aus? Java Basics - Anfänger-Themen 1
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
K Interface: wie damit arbeiten Java Basics - Anfänger-Themen 4
P CSV Datei einlesen und damit ein Datenmodell befüllen Java Basics - Anfänger-Themen 2
T Combobox Wert auslesen und damit weiterrechnen Java Basics - Anfänger-Themen 6
K Könnte mir jemand erläutern, was der autor damit meint? Java Basics - Anfänger-Themen 5
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
B Teile eines Strings in Zahl umwandel und damit weiterrechnen? Java Basics - Anfänger-Themen 3
S Double mithilfe eines Scanners so einlesen, dass ich damit rechnen kann Java Basics - Anfänger-Themen 4
L Problem damit, leeren String zurück zu geben Java Basics - Anfänger-Themen 16
T Wie funktioniert DOM und wie hat man damit umzugehen? Java Basics - Anfänger-Themen 4
G Was bracuht man, damit Java läuft? Java Basics - Anfänger-Themen 6
C Geht regex damit oder ist da zu kompliziert? Java Basics - Anfänger-Themen 3
P Welche Methode damit ich rausfinde auf welchem Laufwerk. Java Basics - Anfänger-Themen 8
J No result was produced . was fange ich damit an? Java Basics - Anfänger-Themen 2
MrTical Zahlen einlesen um damit zu rechnen Java Basics - Anfänger-Themen 5
G Fehlermeldung - Kann leider nichts damit anfangen Java Basics - Anfänger-Themen 3
B Gleichung auslesen und dann damit Rechnen? Java Basics - Anfänger-Themen 4
C Threads damit Frame repaintet werden kann! WIE? Java Basics - Anfänger-Themen 2
B Datei öffnen , Datensätze auslesen und damit Rechnen ? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben