GUI friert wärend Programmdurchlauf ein.

Status
Nicht offen für weitere Antworten.

cyro

Mitglied
Hallo erstmal,

ich arbeite mich momentan ein wenig in Java ein und hab zum Test ein kleines Programm geschrieben, das rekursiv einen Verzeichnissbaum durchläuft und die Unterverzeichnisse zählt. Funktioniert soweit.

Nun habe ich eine einfache GUI mit einem Start Button und einem jLabel erstellt. Das Label zeigt die Anzahl der Unterverzeichnisse an. Ich hab mich dabei strickt an diese MVC Anleitung gehalten: MVC. Mein Codeaufbau ist mit dem aus dem Beispiel fast identisch und funktioniert soweit auch.

Mich stört nur noch eins. Wenn ich auf den Start Button klicke, friert die Oberfläche ein und das jLabel wird erst gesetzt, wenn der komplette Verzeichnissbaum durchlaufen ist. Dabei rufe ich in jedem Verzeichnis den die setChanged() und notifyObservers() Methoden auf. Genauso wie in dem Beispiel.

Ist das Normal?
Wenn ja, wie lässt sich das den ändern? Ich hab im ersten Moment an Threads gedacht, hab da aber noch keine Erfahrung. Muss dann mein Programm oder die GUI als Thread laufen?
Ideal wäre auch ein Link mit Beispielcode. Wie die MVC Anleitung. Die fand ich super und es hat auch auf Anhieb funktioniert :)
 
B

Beni

Gast
Jop, ohne Threads geht hier nix. Benutz mal die Suche und gib ein "Gui friert ein" :bae:
 

cyro

Mitglied
ups, danke. :oops: Ausgerechnet danach hab ich nicht gesucht.

Allerdings ist mir trotzdem noch nicht alles klar geworden. Wie gesagt hab ich mich strickt an das MVC Beispiel gehalten. D.h. meine Klasse, die ich nun als Thread laufen lassen möchte erbt bereits von Observable und implementiert mein Kontrollinterface. Wie krieg ich da noch den Thread rein ???:L
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben