2011-07-25 6 views
2

3秒以上経過してもタスクが処理中に「読み込み中」というモーダルJDialogを作成するにはどうすればよいですか?処理中にモーダルJDialogを作成する

+0

UIスレッドとは別のスレッドで処理が行われているのはかなり簡単です。これが望ましい方法です。 それ以外の場合は、メインのUIスレッドで処理を行い、アーキテクチャを回避するために別のUIスレッドを起動する必要があります。 –

+0

はいタスクは別のスレッドで実行されています。 – KJW

答えて

3

InputStreamをロードするタスクは、ProgressMonitorInputStreamを参照してください。

E.G. (未テスト)

ProgressMonitorInputStream pmis = new ProgressMonitorInputStream(
    parentComponent, message, inputStream); 
ProgressMonitor pm = pmis.getProgressMonitor(); 
pm.setMillisToPopup(millisToPopup); 

はEDTブロッキングを回避するためにThreadInputStreamをロードするために必要であろう。

5

Paulの答えを拡張するために、SwingWorkerはバックグラウンドタスクの実行にはうまくいくでしょう。進行状況モニターまたは進捗状況モニターのいずれかを表示できます。How to Use Progress Bars

+1

+1ホバー:私の答えで少し怠け者になってしまい、コメントに降格しました。 –

関連する問題