Threads: warten bis erste aktion ausgeführt wurde

Status
Nicht offen für weitere Antworten.

jabbah

Mitglied
hallo,

in meinem Programm zeige ich ein Jframe an. dieses wird nach x sekunden automatisch nach erfolgreicher eingabe geschlossen. das die eingabe erfolgreich war, soll durch einen statustext angezeigt werden.
Code:
public void finished() {

                String message = (String)get();
                frame.setStatusText( message );   
                
                int timeToAutoClose = ((Integer) preferenceManager.getSaveValue(
                        PreferenceManager.PREFERENCE_ENTER_DIALOG_AUTO_CLOSE )).intValue();
                if(    timeToAutoClose > 0 ) )  {
                         
                    try{
                             Thread.sleep( (long) timeToAutoClose  );
                             close();
                         } catch( InterruptedException e ) {}
                     } else {
                         
                         frame.setEnabled( true );
                     }
            }

leider wird das fenster schon geschlossen, bevor der statustext angezeigt werden konnte.

ich steh da leider was auf dem schlauch.
 

jabbah

Mitglied
der Benutzer kann über die Preferences einstellen, ob das Fenster automatich nach korrekter Eingabe geschlossen werden soll und wenn der Benutzer das wünscht, dann enthält timeToAutoClose die Zeit in Millisekunden, bis das Fenster geschlossen werden soll. Im Fall von 0 soll das Fenster nicht automatisch geschlossen werden. also hat timeToAutoClose einen Wert x
 

norman

Top Contributor
würde dann vermuten dein statustext (message) ist leer oder aber der wert in timeToAutoClose ist zu klein (<500)?

[nachtrag]:
Code:
	public void finished() {

        String message = (String)get();
        frame.setStatusText( message );   
        
        int timeToAutoClose = ((Integer) preferenceManager.getSaveValue(
        		PreferenceManager.PREFERENCE_ENTER_DIALOG_AUTO_CLOSE )).intValue();
        if ( timeToAutoClose > 0 ) {   
            try {
            	Thread.sleep( (long) timeToAutoClose  );
                close();
            } catch( InterruptedException e ) {  } // willst du hier wirklich KEINE fehlerbehandlung?
        } else {
        	frame.setEnabled( true ); // was soll diese zeile bewirken? warum nicht auch vor dem Thread.sleep()?
        }
    }
 

jabbah

Mitglied
den gedanken hatte ich auch schon. das message nicht leer ist, zeigt sich daran, dass immer noch der alte statustext dasteht und in jedem fall ein statustext gesetzt wird, dieser also nicht leer sein kann.

auf die vermutung, dass vielleicht timeToAutoClose zu klein gewählt wurden sein könnte, habe ich erstmal die zeit auf 10000 ( also 10 sek) hochgesetzt. da das selbe ergebnis und da der statustext nicht mehr als ein succeded ist, kann ich wohl auch annehmen, dass die meldung nicht länger als 10 sekunden in anspruch nehmen dürfte.
Weiterhin habe ich auf diesen verdacht dann auch mal das close() auskommentiert. die statutsmeldung wird erst nach meiner wartezeit angezeigt. also wird durch das setStaustText ein Thread aufgerufen. Während dieser Thread arbeitet aber noch nicht fertig ist, lege ich ihn mit Thread.sleep() schlafen und rufe noch bevor mein Statustext angezeigt werden kann die close()- Methode auf. Ich muss also irgendwie hinbekommen, dass ich ertsmal die beendigung des einen Threads abwarte, bis ich alles schlafen lege.

Aber ich weiß nicht, wie ich das umsetzten soll
 

norman

Top Contributor
das verstehe ich nicht so ganz.
Code:
frame.setStatusText("kjth");
try { 
   Thread.sleep(3234); 
} catch (InterruptedException e) {
   e.printStackTrace();
}
sollte eigentlich erst dann in die pause gehen, wenn der text fertig geschrieben ist ???:L
 

jabbah

Mitglied
hab meinen Fehler behoben bekommen.

der eine Thread hat den anderen blokiert, wodurch das Fenster "eingefroren" war.

musste nur das sleep und das setStatusText an eine andere Stelle im Code aufrufen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Threads aufeinander warten lassen? Java Basics - Anfänger-Themen 10
H Auf Threads warten Java Basics - Anfänger-Themen 3
S Warten bis alle Threads fertig sind Java Basics - Anfänger-Themen 12
R Thread soll auf andere Threads warten Java Basics - Anfänger-Themen 3
C auf beendigung eines threads warten Java Basics - Anfänger-Themen 6
G auf ende mehrerer threads warten Java Basics - Anfänger-Themen 2
G Frage zum Warten auf und Aufwecken von Threads Java Basics - Anfänger-Themen 2
B auf mehrere Threads warten Java Basics - Anfänger-Themen 3
P Bitte um ein paar Tipps! (Threads, Warten auf Ereignisse,.) Java Basics - Anfänger-Themen 2
M Wie lässt man eine Methode warten ohne Threads zu benutzen? Java Basics - Anfänger-Themen 8
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C Threads und Swing Java Basics - Anfänger-Themen 9
berserkerdq2 Wo finde ich in der Java Api die Notation zu Threads bezüglich Synchronized? Java Basics - Anfänger-Themen 14
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
B Monitor als Schranke von Threads Java Basics - Anfänger-Themen 20
W Threads Alphabet Java Basics - Anfänger-Themen 20
H Threads Anfänger Java Basics - Anfänger-Themen 17
1 Threads parallel laufen Java Basics - Anfänger-Themen 11
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
M Threads Java Basics - Anfänger-Themen 12
L Threads Synchronisierung zwischen threads Java Basics - Anfänger-Themen 4
M Threads Java Basics - Anfänger-Themen 2
A Threads Java Basics - Anfänger-Themen 9
A Threads Java Basics - Anfänger-Themen 13
A Threads und .join Java Basics - Anfänger-Themen 14
W Threads starten Java Basics - Anfänger-Themen 2
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Wieviele threads? Java Basics - Anfänger-Themen 9
J Problem bei seriellem Start von Threads Java Basics - Anfänger-Themen 11
O Threads Java Basics - Anfänger-Themen 2
L Buchungssystem und Threads Java Basics - Anfänger-Themen 2
O Threads - Synchronize(), join(), wait(), notify(), yield() Java Basics - Anfänger-Themen 6
L Klassen NFC Reader und JavaFx Problem -> threads? Java Basics - Anfänger-Themen 2
A Kommunikation zwischen nebenläufigen Threads Java Basics - Anfänger-Themen 4
S Gemeinsame Ressource und Mehrfachinstanziierung von Threads Java Basics - Anfänger-Themen 16
S Verklemmung Threads Java Basics - Anfänger-Themen 11
B Threads 2 Threads gleichzeitig laufen lassen Java Basics - Anfänger-Themen 1
M Threads Threads laufen sequenziell, statt gleichzeitig. Java Basics - Anfänger-Themen 9
M Threads run Methode Java Basics - Anfänger-Themen 4
javajoshi mehrere Threads: Methoden zentral unterbringen Java Basics - Anfänger-Themen 8
javajoshi Problem mit zwei Threads und Arrays (Runnable) Java Basics - Anfänger-Themen 12
L Threads Mit Threads JLabel ändern! Java Basics - Anfänger-Themen 2
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
S Kleine Frage zu Threads Java Basics - Anfänger-Themen 3
M Mit 2 Threads eine Zahl hochzählen Java Basics - Anfänger-Themen 13
T Threads Synchronisieren Java Basics - Anfänger-Themen 6
D Frage Threads Java Basics - Anfänger-Themen 6
Z Threads Executor Framework - Aufgabe auf n Threads aufteilen Java Basics - Anfänger-Themen 10
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
kilopack15 Mehrere Threads in einer Klasse Java Basics - Anfänger-Themen 8
H Threads funktionieren nicht Java Basics - Anfänger-Themen 4
J Aufgabe(Threads) richtig verstanden/implementiert Java Basics - Anfänger-Themen 27
T Threads Durch threads gestartete Prozesse killen Java Basics - Anfänger-Themen 2
J Threads Java Basics - Anfänger-Themen 38
D Alte Klausuraufgabe Threads Java Basics - Anfänger-Themen 10
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
R Threads in JavaFX Java Basics - Anfänger-Themen 3
E Threads Doppelte Threads beenden Java Basics - Anfänger-Themen 4
F Sicheres Zurückmelden aus Threads Java Basics - Anfänger-Themen 0
G Threads zum Thema Threads??? null Ahnung Java Basics - Anfänger-Themen 4
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5
J ConcurrentCalculation Multi Threads in Java Java Basics - Anfänger-Themen 3
P Threads Trotz Threads wird nur 1 Prozessorkern ausgelastet Java Basics - Anfänger-Themen 7
M "restartable" threads Java Basics - Anfänger-Themen 11
M Threads - summieren Java Basics - Anfänger-Themen 13
W Klassen Variable einer anderen Klasse ändern (Threads) Java Basics - Anfänger-Themen 3
E Threads - Programm analysieren Java Basics - Anfänger-Themen 2
E join() bei zwei Threads Java Basics - Anfänger-Themen 2
T Threads Threads richtig synchronisieren Java Basics - Anfänger-Themen 3
D [Concurrency/Threads] Code Umsetzung Schriftlich Java Basics - Anfänger-Themen 2
D Threads Java Basics - Anfänger-Themen 4
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
N Verweise auf Variablen in verschiedenen Threads Java Basics - Anfänger-Themen 4
T Java-Threads Java Basics - Anfänger-Themen 0
G Moving Objects with Threads (implements Runnable) Java Basics - Anfänger-Themen 1
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
M Problem mit Threads Java Basics - Anfänger-Themen 11
M Threads - wo gehören sie hin? Java Basics - Anfänger-Themen 3
S 2D-Spiel mit Threads... Java Basics - Anfänger-Themen 3
J Threads Java Basics - Anfänger-Themen 3
F ExecutorService und offene Threads Java Basics - Anfänger-Themen 3
P Threads Threads nicht nebenläufig Java Basics - Anfänger-Themen 7
M Threads nicht nebenleblaufig Java Basics - Anfänger-Themen 2
B Threads parallel zur main Java Basics - Anfänger-Themen 3
M Threads Java Basics - Anfänger-Themen 2
M Threads, zwei methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 4
M Threads und Methodenübergreifender Variablezugriff Java Basics - Anfänger-Themen 2
J Wie handle ich Threads am besten? Java Basics - Anfänger-Themen 2
H Threads Java Basics - Anfänger-Themen 10
B synchronized threads Java Basics - Anfänger-Themen 17
E Mehrmaliges Ausführen eines Threads Java Basics - Anfänger-Themen 5
E Threads Verständnisfrage bzgl. Threads und Sleep Java Basics - Anfänger-Themen 2
T Alle Threads .notify() Java Basics - Anfänger-Themen 13
R Threads Verständnisschwierigkeit Java Basics - Anfänger-Themen 2
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
G Methoden in Threads wandeln Java Basics - Anfänger-Themen 7
H Threads Java Basics - Anfänger-Themen 17
F Java Concurrency - Threads Java Basics - Anfänger-Themen 4
V Threads Threads synchronisieren Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben