eclipse rcp:バックグラウンドでジョブを実行中にUIをブロックする方法
ダイアログにテストボタンがあります。ユーザーがそのボタンをクリックすると、アプリケーションはJDBC経由でデータベースに接続しようとします。
いくつかのテストケースでは、このジョブは、ユーザー、ネットワーク接続のタイムアウトなどに応答するのに時間がかかります。私はそのボタンにリスナーを付け、そのリスナーのデータベースに接続することでこれを行います。接続すると、接続ジョブが終了するまでユーザーインターフェイスは応答しません。接続中のユーザーアクションは、ジョブの接続後に有効になります。
例:このダイアログに別の「キャンセル」ボタンがあります。このボタンをクリックするとダイアログが閉じます。接続ジョブの実行中に「キャンセル」ボタンをクリックすると、接続ジョブが完了するまでダイアログは閉じられません!
は、私は私の接続ジョブが、 droped保存されていないと、後に有効になります実行している間、ユーザーのアクションが起こっ願っています。バックグラウンドでジョブを実行しながら、どのように起こったすべてのユーザーの行動を無視する
:私はWindows上で7
を日食藍を使用しています
私の質問はこれでなければなりません。
Display.execSync()またはBusyIndicator.show(Display、Runnable)が問題に対して有効な解決策ではない理由を説明してください。 –
@Seven Displayy.execSync()が実行されている間にユーザーが「アプリケーションを閉じる」ボタンをクリックすると、Displayy.execSync()が完了したときにアプリケーションが終了しますが、「閉じるアプリケーション」アクションは無視されます。 – CaiNiaoCoder