1

コントローラーがスレッドを開始し、そこでアクションが発生したビュー内でプログレスバーを開始し、モデルを呼び出してビューで選択されたデータのリストを調べ、何らかの方法で処理するMVCアプリケーションがあります。

モデルがデータを調べているときに、何らかの理由でユーザーに確認してもらいたい 1 つ以上のエントリに遭遇します。MVC を使用してこれをどのように処理する必要がありますか?
コントローラーは複数のビューを処理できることに注意してください。それらのどれがユーザー入力を担当する必要があり、それらをどのように区別するか...?

4

1 に答える 1

2

入力の検証は、ビューで可能な限り早い機会に処理する必要があります。ビューはモデルにクエリを実行して、コンテキスト内のエントリを検証できます。具体的な例として、これは数値入力を確実にするためにInputVerifier オーバーライドverify()しますが、モデルに追加のチェックを要求することもあり、おそらく他のモデル属性と比較します。例えば、

@Override
public boolean verify(JComponent input) {
    try {
        value = Double.parseDouble(field.getText());
        return model.isValid(value); // also check model
    } catch (NumberFormatException e) {
        return false;
    }
}
于 2013-10-15T16:53:55.290 に答える