2

私は Vaadin 7 を使用しています。私のアプリケーションにはテーブル リストがあり、ユーザーは 1 つ以上の項目を選択して詳しく説明できます。実行ボタンをクリックすると、UI コンポーネントが無効になり、2 つのスレッドが開始されます。1 番目のスレッドは大量の計算を行います 2 番目のスレッドは、UI の進行状況インジケーターを更新します (lock() および unlock() メソッドを使用)

最後に 1 番目のスレッド:

項目が DB から削除され、すべてのコンポーネントが削除され、再度追加されます (有効化)。このようにして、テーブル データの更新が保証されます。

うまく機能しますが、長いタスクが処理されると、UI が更新されず、テーブルがまだ無効になっています。

誰でも私を助けることができますか?

どうもありがとう

4

2 に答える 2

1

ProgressIndicator のように定期的に更新されるコンポーネントを使用できます。スレッドが終了したら無効にします。それは私にとってはうまくいきます。

于 2013-05-02T12:20:29.263 に答える
1

https://vaadin.com/forum#!/thread/231272を参照してください

つまり、Vaadin 6.0 および 7.0 では、サーバーからの変更を非要求スレッドからブラウザーに「プッシュ」することはできません。(v6 用のプラグインはありますが、v7.0 用はありません)

Vaadin 7.1 (まだリリースされていません) では、これが可能です。詳細については、 https://vaadin.com/wiki/-/wiki/Main/Enabling+server+pushを参照してください。

于 2013-04-30T14:04:32.783 に答える