一言で言えば私の問題:私のGUIアプリは長いネットワークダウンロードを実行する必要があります。ダウンロードは別のスレッドで処理されます。リモートサイトで認証が必要になる可能性があるため、「ユーザー名とパスワードの入力」ダイアログをポップアップするオーセンティケーターを定義したいと思います。このダイアログはUIスレッドから実行する必要があることに気づきました。
私はこれを行う最初の人ではないと確信しています。バックグラウンドスレッドがUIスレッドでダイアログを起動し、そのダイアログが閉じられるまでブロックするためのここでのベストプラクティスは何ですか?
psバックグラウンドスレッドは非常に大きく、ネットからファイルをダウンロードするだけではありません。言い換えれば、現時点ではSwingWorkerに変換することはおそらく実用的ではなく、とにかく、SwingWorkerからこれをどのように解決するかはわかりません。