アプリケーションがあり、Observer を使用して解決する必要があります。コードの実装が長いので、問題を要約したいと思います。
アプリケーションを起動します。
秘書または学生を選択できるLogInWindowがあります。
秘書は、学生、コース、および特定のコースの学生の結果を追加できます。生徒はその結果のみを見ることができます。
オブザーバーを使用して、秘書がそのアプリケーションのインスタンスにログインし、学生がそのアプリケーションの別のインスタンスにログインしている場合、秘書がコースでその学生の結果を追加すると、その学生がそのリストに即座に表示されるようにする必要がありますその新しいコースとその結果。
データはtxtファイルから読み取られます。
私の解決策。秘書ウィンドウはオブザーバーです StudentWindow はオブザーバーです ResultRepositoryFile はオブザーバブル オブジェクトです
AddButton をクリックすると、コントローラは Result(studentName, courseName, result) を ResultRepositoryFile に追加します。秘書ウィンドウ オブザーバーはそれを確認し、メッセージを出力して、ResultRepositoryFile を含む txt ファイルを保存します。
StudentWindow で RefreshButton をクリックすると、ResultRepositoryFile がこのウィンドウからリストに再ロードされ、新しく追加された Result.class が表示されます。
疑問があるので、これは正しい方法ですか?
Observer を使用して同じアプリケーションの 2 つのインスタンスを同期する方法は?
お読みいただきありがとうございます。お役に立てば幸いです。