3

私のアプリケーションでは、を開くメニューがあり SelectionDialogます。このダイアログは、オブジェクトを選択するために使用されます。このオブジェクトを選択すると、ビューに表示する必要があります。

ビューを更新するための最良の方法は何ですか?

現在、myview.update(object)(メニューのハンドラーで)ダイアログを閉じた後に呼び出します。しかし、このソリューションはうまく設計されていないと思います。

モデルの更新とビューの通知について読みましたが、モデルは変更されません(データは変更されず、異なるデータのみが表示されます)。

誰かがうまく設計された解決策についていくつかのアイデアを持っていますか?

4

2 に答える 2

1
  1. モデル リスナーの定義 ( dataPopulated(Event e))
  2. ビューにモデル リスナーを実装させ、それをモデルに登録します。
  3. ビューに入力するオブジェクトを含むモデル クラスを定義します。
  4. Model.setInput(Object input) が呼び出されると、登録されているすべてのモデル リスナーで dataPopulated() イベントが発生します。

上記の手順は、ビューが有効になっている場合に正しく機能します。ビューが非アクティブ化されているか、表示されていない場合などのケースを考慮する必要があります (ビューが表示されていることを確認してください。そうしないと、表示されていなくてもビューを更新するための不要なオーバーヘッドが発生します)

于 2012-10-23T15:00:28.543 に答える
0

ビューに選択リスナーを追加して、この選択をダイアログに登録してみてください。

リスナーアクションで、選択したオブジェクトを表示するコードを追加します。

于 2012-10-23T12:08:11.533 に答える