MVC使用swing,如何让模型请求用户输入?

时间:2013-10-15 11:56:16

标签: java swing model-view-controller

我有一个MVC应用程序,其中控制器启动一个线程,然后在视图内部启动一个进度条,并调用模型查看在视图中选择的数据列表,并以某种方式处理它。

现在,当模型越过数据时,它会遇到一个或多个条目,他希望用户出于某种原因进行确认。如何使用MVC处理? 请注意,Controller可以处理多个视图,其中哪些视图应该负责用户输入,如何区分它们,...?

1 个答案:

答案 0 :(得分:2)

应尽可能在视图中处理验证输入。视图可以查询模型以验证上下文中的条目。作为具体的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;
    }
}