1
我有一個MVC應用程序,其中的控制器啓動一個線程,並在其中啓動查看動作源自內部的進度,並調用模式走過去在查看並處理它選擇數據的列表某種程度上來說。使用swing的MVC,如何讓模型請求用戶輸入?
現在,當模型查看數據時,遇到一個或多個他希望用戶由於某種原因確認的條目。應該如何使用MVC來處理?
請注意,控制器可以處理多個視圖,他們中的哪一個應該負責用戶輸入,如何區分它們,...?
我有一個MVC應用程序,其中的控制器啓動一個線程,並在其中啓動查看動作源自內部的進度,並調用模式走過去在查看並處理它選擇數據的列表某種程度上來說。使用swing的MVC,如何讓模型請求用戶輸入?
現在,當模型查看數據時,遇到一個或多個他希望用戶由於某種原因確認的條目。應該如何使用MVC來處理?
請注意,控制器可以處理多個視圖,他們中的哪一個應該負責用戶輸入,如何區分它們,...?
驗證輸入應儘早在視圖中處理。視圖可以查詢模型以驗證上下文中的條目。作爲具體的example,此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;
}
}
確定的,但如果它無法直接驗證輸入,在我的情況下,例如驗證發生了大容量輸入值的服務器通過RMI上,這是不可能的第一環通過視圖或控制器中的輸入。 – jb10210
聽起來好像你的「儘可能早的機會」是在提交整個表單之後。您必須要求服務器提供更精細的驗證,或盡力突出未能驗證的字段。 – trashgod
謝謝,發表評論時,我實際上想出了相同的答案:) – jb10210