2017-06-15 1 views
-1

私はC.S.S.Eです。学生のプログラム管理アプリケーションに関連するJava MVC設計のいくつかの問題に直面しています。生徒IDのテキストフィールドに自動生成された(ランダムな数)と表示する必要があります。MVC Java乱数がテキストフィールドに表示されます

StudentAddView.javaは、TextFieldに乱数を表示して返しません。

public class StudentAddView extends View{ 

    private JTextField studentNumberField = new JTextField("", SIZE); 
    } 

    public StudentAddView(Model StudentList, Controller StudentController){ 

    super(StudentList,StudentController); 

    add(studentNumberField); 
    } 

次に、モデルの下のstudent.javaには、メソッドが含まれています。

student.java下
public class Student{ 
    public int studentNumber; 

コンストラクタ

public void setstudentNumber(int studentNumber)//setter { 

    Random random = new Random(); 

    studentNumber = random.nextInt(1000); 

    this.studentNumber = studentNumber; 
} 

public int getstudentNumber()//getter{ 

    return studentNumber;} 

最後に、student.java

public String StringBuffer (String str){ 

    str = "student["; 

    str = str+"student number"= +studentNumber+","; } 

またはIがランダムに返すためにクラスを作成する必要があるため、それが内部にStringBufferテキストフィールド内の値を返すためのデータとして格納しますか?

答えて

0

モデルの値を変更した後で登録されたビューを更新することになっています。モデルオブザーバとインターフェイスを使用することをお勧めします。 このパターンを使用しようとする前に、このパターンの適用例を読むことを強くお勧めします。その目的と賛否を実装して視覚化するのが簡単になります。しかし、私はここでそれをやりません、よりスマートで優れた人々はすでに他の場所でそれをやっているだけで、それはグーグルです。 (ここには初心者のための具体的な例がありますhttps://www.tutorialspoint.com/design_pattern/mvc_pattern.htm

偉大なパターンの世界で幸運!

+0

申し訳ありませんが、ビューを更新するためのクラスを作成する必要がありますか? –

+0

クラスを作成する必要はありません。モデルが変更されたことをオブザーバに通知するメソッドにするだけで、オブザーバがモデルから新しい値を取得するようになります。わかりますか ? ここでは、UMLデザインhttp://ma.udg.edu/~sellares/EINF-ES1/MVC-Toni.pdfの素晴らしい説明です – Youri

関連する問題