レジストリに関して、私がよく理解していないことがあると思います。
アプリがあります。3 つの異なるタブを使用します。タブ #3 のグリッドに行を追加するには、タブ #1 と #2 のグリッドで行を「選択」する必要があります。タブ #1 と #2 で行を選択すると、行の「ID」が保存され、レジストリに「sessionInfo」オブジェクトが取得されます (Java.Strings の束を含むオブジェクトのみ)。
最初にタブ #3 に移動すると (#1 と #2 からグリッド行を選択せずに)、行を追加しようとするとエラーが発生します (#1 と #2 で何も選択されていないため、これは正しいでしょう)。次に、タブ #1 と #2 に戻り、それぞれからグリッド行を選択します (これにより、レジストリの「sessionInfo」オブジェクトが更新されます)。次に #3 に戻って行を追加しようとしましたが、「sessionInfo」が更新されていないようです?!? (つまり、選択された文字列はまだ空です)
セッション変数のチェックは、追加ボタンの SelectionListener.componentSelected() メソッドから呼び出されるプライベート メソッド (onRender() メソッドの外側) で行われます。
~r
PS: レジストリが Tab #3 クラス内のインスタンス変数であることに関係しているのではないかと思います?!?
PPS: gxt.ui.client.widget.Status ウィジェットも更新します。それを(レジストリからも)取得すると、更新されますか?!?!
PPPS: 「レジストリの長所と短所」というタイトルのスレッドを教えないでください。レジストリを使用せず、「アプリに何か問題がある」以外の代替手段を提供しないと言うのは良いことです。(明らかですが、あまり役に立ちません。