2012-03-07 5 views
4

次の問題があります。ユーザーがUIコンポーネントをクリックできるとします。クリックごとに多くの計算が必要になり、他のUIコンポーネントが大幅に変更されるため、非常に高価です。クリックの順序は重要ではありません。Vaadinでの開催イベント

したがって、ある時間の間はイベントを保持するのがクールで、その時間に他のイベントがない場合にのみ、サーバーに送信してください。そうしないと、最後のイベントを除くすべてのイベントを無視する必要があります。

Vaadinでこのような動作を実装する方法はありますか?

ドミトリー。

答えて

1

アプリケーションは1回のセッションで実行されます。高価な再計算を引き起こすUIコンポーネントのすべてではないことを考慮すると、リスナーをイベントに関連付けることができます。イベントのコピーを保存し、タイマースレッドを開始します。新しいリクエストが入った場合は、前の値をフラッシュします。ここで重要な要素は、スレッドを開始する必要があることです。そうしないと、UIがハングします。

0

他の答えを補完する。進捗インジケータのためのスレッドの例がvaadinの本にあります。これは、UIの応答性を維持し、イベントを処理するスレッドを取る方法を示しています。タイマーを含むスレッドを作成し、イベント・スレッドからメッセージを受け取ることができます。タイマースレッドは、実装した制限に従って応答します。 vaadinにスレッド例えばプログレスバーコードを確認してください :

https://vaadin.com/book/-/page/components.progressbar.html