一部のUI機能を実装しています。短いまたは長い(時間)アクションを実行するボタンがあります。私はそのようなロジックを実装しました。アクションの実行時間が数ミリ秒を超える場合は、他のアクションコントロールをコードロックします。私の質問は:
操作が長すぎる(数秒以上)場合、ユーザーに通知するためにプログレスバーを表示する必要があることを理解しています。そのアクションは長すぎます。
MS Windows 7 UXガイドライン 1秒以上のビジーカーソルまたはその他の「アクティビティインジケーター」を推奨。 x> 5秒のプログレスバーを推奨します。 Gnomeguidelines と古い Java Swing 「高度なトピック」のガイドラインはほぼ一致しており、Swingは観察したxを決定する手順を指定しています。
操作についてフィードバックを提供するかどうかを決定するには、アプリケーションがサポートする最小システム構成で操作に通常かかる時間をテストします。異なるデータセットまたはネットワーク負荷で、テストを少なくとも10回繰り返します。テストの少なくとも10%で操作に1秒以上かかる場合は、フィードバックを提供します。
ユーザーは、ボタンのクリックが瞬時に行われてから約20ミリ秒後にアクションが実行されると考えています。遅いアクションでは、待機中のカーソルまたはその他の形式のフィードバックが必ず表示されます。 100ミリ秒を超えるすべてのアクションのタイムスロットを埋める汎用プログレスバーを使用します。本当に遅いアクションは、進行状況バーを取得するか、バックグラウンドスレッドで実行されます。