Ich habe einen Swing Worker, der im Hintergrund berechnet, während ein Fortschrittsbalken in einem JFrame aktualisiert wird.Warten bis ein SwingWorker fertig ist?
Wie kann ich mein Haupt-Thread warten, bis die doInBackground() machen zu beenden?
Ich weiß, dass ich die Dinge in done() Methode setzen kann, aber ich frage mich, ob es ein Weg, um tatsächlich das Programm warten zu lassen (das Gewinde, um korrekt zu sein).
etwas Ähnliches, was ein modaler JDialog tun würde.
So ...
SwingWorker a = new SwingWorker();
a.execute
doOtherStuff();
doOtherStuff erst nach doInBackground läuft vollständig ist, aber ohne denen das Verfahren in dem getan() -Methode des Swingworker zu setzen.
A Swingworker eine „asynchrone“ Operation darstellt. Mit diesem Paradigma sollte das "nächste" zu tun in einem Callback behandelt werden - andernfalls wird es als asynchrone Ereignisquelle wenig genutzt. JDialogs sind furchtbare Hacks selbst .. nicht etwas, das ich empfehlen würde zu emulieren. –