Threads Thread innerhalb einer Klasse - ohne Extra Klasse

Pommes9485

Bekanntes Mitglied
Hallo,
wahrscheinlich schmeist mir Google bei dem richtigen Suchbegriff sofort die Antwort raus, allerdings weis ich nicht, wie dieser sein soll.
Ich habe eine GUI Klasse und muss in dieser dauerhaft überprüfen, ob sich ein Wert in einem Objekt der GUI Klasse geändert hat. Daher würde ich jetzt einfach einen Thread machen, in dem ich dies tue, allerdings weis ich nicht, wie ich diesen aufbauen sollte.

Könnt ihr mir sagen wie , oder wie ich was dazu finde ?

Danke schonmal
 

eRaaaa

Top Contributor
Was ist das für ein Objekt? Ein Datenobjekt? Oder wo kommt das her? ;( Aber generell weisst du doch an welchen Stellen / wann sich das Objekt verändern kann, du hast das ja schließlich programmiert, dort musst du dann eben irgend jemanden informieren über diese Änderung?!
 

Pommes9485

Bekanntes Mitglied
Ja, es geht um ein Chat Programm. Nun möchte ich in der GUI natürlich die Nachricht angezeigt bekommen, wenn sie da ist. Aber in der Klasse, in der das Horchen auf neue Nachrichten Stattfíndet kann ich ja nicht auf die GUI zugreifen. Kann ich den nen Thread innerhalb der GUI Klasse erstellen ?
 

Murray

Top Contributor
Prinzipiell kann man überall neue Threads aufbauen:
Code:
		new Thread( new Runnable(){
			@Override
			public void run() {
				// hier kommt die Aktion, die im neuen Thread laufen soll
				
			}}).start();
 

faetzminator

Gesperrter Benutzer
Ganz grundsätzlich suchst du nicht nach einem "Abfragethread", sondern nach dem Listener-Pattern, welches viel effizienter ist. Wenn du von GUIs sprichst, dann gibts da das MVC-Pattern (da hast du ein Model, eine View und einen Controller).
 

Pommes9485

Bekanntes Mitglied
Danke an alle, ich habe mir auch den Observer mal angeguckt, allerdings müsste ich dann ja meine anderen Klassen auch anpassen, und das sind schon alles Threads, beides geht doch nicht oder ?

Ich habe jetzt nen Extra Thread geschrieben, also in der GUI Klasse, welche eine TextArea anpassen soll. Dies klappt nicht. Ich bekomme den Wert zwar zum richtigen Zeitpunkt über die Konsole ausgegeben, aber die TextArea verändert sich nicht...

Was gibt es noch für möglichkeiten ?
 

Spin

Top Contributor
Was soll denn mit der Textarea passiern und in welchen Moment. Wenn du auf einen Button klickst?
Soll dann ein Text angezeigt werden ? Sollen Daten geändert werden oder eher nur etwas in der GUI- die Ansicht?



Hast du deinem view gesagt welches Model es observen soll?

Java:
getView.addObserver(model);

Hast du in den Methoden die aufgerufen werden:

Java:
setChanged();
setNotifyObserver(this);


grüße Spin
 

Pommes9485

Bekanntes Mitglied
Ich habe wie gesagt einen LAN Chat und wenn in einem Thread sich eine Variable verändert, bzw sie unglich null ist, soll sie in der TextArea angezeigt werden. Parallel dazu wird von der GUI aer auch noch etwas anderes getan.

Ich kann den Observer nicht verwenden, da die betroffen Klassen bereits von Thread erben...
 

SleepProgger

Mitglied
Dann würde ich dir folgendes vorschlagen.
Deine Gui implementiert ein Interface was eine UpdateMethode bereit stellt.
In etwa:
Java:
public interface GenericListener <T>{
 public synchronized void update(T wasAuchImmerGeupdatedWerdenMuss);
}
edit: ich habe das ganze mal um Generics erweitert.
Benutzung: in der Gui:
.... class ABC implements GenericListener<Datentyp>{ ....
Benutzung im ChatThread:
.... private GenericListener<Datentyp> listener; ....


Dein ChatThread hält eine Referenz auf eine Instanz dieses Listeners (wird übergeben).
Jedes Mal wenn sich nun etwas im Chat ändert ruft dieser die UpdateMethode im Listener (der GUI) auf und übergibt dort die neuen Werte.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J InvocationException im Thread (innerhalb von call() einer Callable Klasse) Allgemeine Java-Themen 2
M Nanosekunden-Pause innerhalb einen Thread-Loops Allgemeine Java-Themen 3
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
smarterToby Wie stoppe ich diesen Thread Allgemeine Java-Themen 4
A Thread.sleep Problem Allgemeine Java-Themen 2
J Thread started nur einmal Allgemeine Java-Themen 19
W Server-Thread schreibt nicht alle Dateien Allgemeine Java-Themen 6
OnDemand Logfile pro User / Thread Allgemeine Java-Themen 7
OnDemand Thread / Service abbrechen Allgemeine Java-Themen 3
Thallius Ist meine static Helper Class Thread save? Allgemeine Java-Themen 9
P Swing Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: npoints > xpoints.length || npoints > ypoints.length Allgemeine Java-Themen 5
B Thread.sleep() in EJB Container wie lösen? Allgemeine Java-Themen 11
S Ist das Neuzuweisen von Feldern atomic und damit Thread-Safe? Allgemeine Java-Themen 2
S Exception in thread "main" java.lang.NullPointerException at FamilienApp.main(FamilienApp.java:15) Allgemeine Java-Themen 1
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
Flynn Thread-Problem... Allgemeine Java-Themen 2
G Thread-Programmierung Allgemeine Java-Themen 5
S Datei wird nicht gefunden Thread.currentThread().getContextClassLoader().getResourceAsStream() Allgemeine Java-Themen 1
G Beendet sich der Thread selbst?! Allgemeine Java-Themen 3
mrbig2017 Sleep wird ignoriert und der Thread wartet nicht Allgemeine Java-Themen 1
S Thread beenden Allgemeine Java-Themen 9
M Array aus Thread Objekten erstellen Allgemeine Java-Themen 2
Aruetiise Swing JOptionPane ohne denn Thread zu pausieren Allgemeine Java-Themen 1
E Thread Exception Allgemeine Java-Themen 6
javaerd Binomialkoeffizient ausrechnen, Exception in thread "main" java.lang.StackOverflowError Allgemeine Java-Themen 6
T Merkwürdiges Thread-Verhalten Allgemeine Java-Themen 6
K Thread Problem Allgemeine Java-Themen 6
W Thread sleep 30 sekunden - wenn keine Antwort bis dahin neu senden Allgemeine Java-Themen 2
H Thread bleibt stehen bei jar in jar Allgemeine Java-Themen 1
J Threads HTTP Request (Thread) dauert lange - in Android Allgemeine Java-Themen 3
F CPU Last eines Thread ausfindig machen Allgemeine Java-Themen 0
V Compiler-Fehler Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 125, Size: 125 Allgemeine Java-Themen 11
Tausendsassa Threads Einen Thread sich selbst schließen lassen Allgemeine Java-Themen 17
P Threads BufferedImage, Thread Concurrency Allgemeine Java-Themen 1
M Klasse in separaten Thread ausführen.Wie genau? Allgemeine Java-Themen 2
llabusch Thread blockiert Dialog Allgemeine Java-Themen 1
J Thread wait() Allgemeine Java-Themen 2
V Thread.sleep und InterruptedException? Allgemeine Java-Themen 1
G Thread nicht von GC zerstört Allgemeine Java-Themen 6
J Wie erschaffe ich einen sicheren Datenaustausch zwischen Thread und Nicht-Threads Allgemeine Java-Themen 8
Sogomn Thread blocken bis Taste gedrückt Allgemeine Java-Themen 5
T Starten vom Thread Allgemeine Java-Themen 3
T Wait/Notify() bei Thread Allgemeine Java-Themen 6
J Exception in thread "main" java.lang.NoClassDefFoundError Allgemeine Java-Themen 4
M Exception in thread "AWT-EventQueue-0" Allgemeine Java-Themen 6
Q Thread wacht nicht auf Allgemeine Java-Themen 7
T Fragen zum Thread-Thema Allgemeine Java-Themen 4
T Threads Input/Output im Thread - Datei ohne Inhalt Allgemeine Java-Themen 1
T Fragen zum Thread-Thema Allgemeine Java-Themen 9
C Threads Variablen in einem Thread Aktualisieren Allgemeine Java-Themen 17
U Thread beenden Allgemeine Java-Themen 3
W Threads Mit Thread und Runtime externe Programme öffnen Allgemeine Java-Themen 0
N Thread interrupt Status debuggen Allgemeine Java-Themen 6
A Thread: Code paralell ausführen in mehreren Instanzen Allgemeine Java-Themen 1
E Threads linkedlist/multi-thread problem Allgemeine Java-Themen 3
B Erkennen, wann Prozess beendet ist, dann Thread beenden. Allgemeine Java-Themen 6
A Thread Fehler absichtlich provozieren Allgemeine Java-Themen 3
B Threads Java Thread kommunizieren Allgemeine Java-Themen 12
N Thread Sicherheit im komplexen Datenmodell Allgemeine Java-Themen 7
K Thread richtig benutzen Allgemeine Java-Themen 3
K Exception in thread "AWT-EventQueue-1" Allgemeine Java-Themen 2
vandread Problem bei kleiner Thread-Übung Allgemeine Java-Themen 2
G Thread erzeugt nicht plausible NullPointerException Allgemeine Java-Themen 7
H Netbeans Warning bei Thread.sleep in Schleife Allgemeine Java-Themen 4
P [Thread] Scheint nicht Sequenziell zu Arbeiten Allgemeine Java-Themen 9
A eine test thread.join() frage Allgemeine Java-Themen 2
tuttle64 Verständnisprobleme mit Thread Locks Allgemeine Java-Themen 4
G Threads Thread bei Datenabfrage Allgemeine Java-Themen 3
S Thread anhalten per Button ? Allgemeine Java-Themen 3
E Thread Programmierung Allgemeine Java-Themen 2
S Threads ServerSocket-Thread soll schlafen, bis er gebraucht wird Allgemeine Java-Themen 2
V Thread schneller stoppen Allgemeine Java-Themen 2
V anstatt thread.join() einfach while schleife? Allgemeine Java-Themen 8
B Mausbewegung im Thread erkennen (hoch/runter) Allgemeine Java-Themen 6
G Linux/C++/Pthreads auf JVM zugreifen, thread safe? Allgemeine Java-Themen 10
K Threads Probleme mit Thread Allgemeine Java-Themen 13
K Threads Thread überprüfen Allgemeine Java-Themen 3
Z Threads Thread für einen Client Allgemeine Java-Themen 9
M Thread JavaFish Allgemeine Java-Themen 10
G Thread.sleep Allgemeine Java-Themen 12
M Threads Viele Aufrufe aus Thread, komisches Verhalten Allgemeine Java-Themen 8
B Threads Main Thread warten auf abgebrochen Task warten lassen Allgemeine Java-Themen 25
K Timer Thread Allgemeine Java-Themen 8
M Methoden Static Methoden und Thread??? Allgemeine Java-Themen 4
N java.lang.IllegalMonitorStateException: object not locked by thread before notify() Allgemeine Java-Themen 2
C Mehothode in anderenm Thread aufrufen Allgemeine Java-Themen 10
R Thread läuft nicht?! Allgemeine Java-Themen 7
R ThreadPool - vorhandene thread liste überprüfen bzw. aufräumen Allgemeine Java-Themen 3
J Anderem Thread Variable mitgeben Allgemeine Java-Themen 2
C Argument an einen Thread übergeben Allgemeine Java-Themen 4
S java.util.ConcurrentModificationException - aber nur ein Thread Allgemeine Java-Themen 3
G JUnit Test Methoden in anderen Thread verlagern Allgemeine Java-Themen 4
P Java Probleme - java.lang.Thread.run(Unkown Source) Allgemeine Java-Themen 10
L Im Thread auf Eingaben warten Allgemeine Java-Themen 3
P aus Thread auf Form zugreifen Allgemeine Java-Themen 9
C Threads Thread blockieren Allgemeine Java-Themen 4
K Threads Thread für Sleep Allgemeine Java-Themen 6
H Threads Thread stirbt aber Objekte in ihm leben weiter?! Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben