1

私のfluxプログラムがコントローラーに含まれているmvcで作成されたJavaプロジェクトがあります。

コントローラーをビューと同期する方法を知りたいのですが、スイングビューに入力が必要な場合、コントローラー上のフラックスプログラムが実行され続けると思います。

この問題を解決する方法がわからないため、助けが必要です。

ブール値を含むブロックを試してみました (例: while(!Action) をビューに設定し、コントローラーに戻ったときに変数を設定する必要があります (true))。

4

1 に答える 1

1

コントローラーの値が変更されたときにビューを更新する必要があることを理解していれば、その値を変更して、ビューがその値を更新するようにコントローラーに通知する必要があるようにすることもできます。

もしそうなら

コントローラーがビューの更新/変更イベントをリッスンし、ビューに従ってデータ/モデルを更新する必要があります。
また、コントローラー用の新しい関数、新しいセッターを作成する必要があります。このセッターは、コントローラーが直接変更されるたびに、ビューと値を自動的に更新します。

controller.superSet(newValue)
{
  this.value = newValue;
  view.setValue(newValue);
}

通常、MVC では、コントローラーはデータを保持しません (少なくともそれほど多くはありません)。それを保持するモデルがあります。上記のモデルは、コントローラーまたはビューに直接アクセスすることを想定していません。彼は、コントローラー内で更新メソッドを呼び出して値を取得し、ビューを更新するコントローラーに通知します。

通常、コントローラーはビューに完全にアクセスできますが、ビューはコントローラーにアクセスしません。ビューはイベントを使用して、何かが変更されたことをコントローラーに知らせます。

于 2013-06-07T01:36:10.660 に答える