我已经设置了我的MVC,因此Controller知道谁是View和Model。 View知道控制器,最后Model通过addObserver方法知道视图。
我想知道视图如何通过update方法更新具有正确值的不同字段。
模型
public void setDevise(String deviseCode) {
System.out.println("Model setDevise = " + deviseCode);
this.devise = ConvertisseurChange.Currency.fromValue(deviseCode);
setChanged();
notifyObservers(this.devise);
}
public void setSomethingElse(String something) {
System.out.println("Model something= " + something);
this.something=something
setChanged();
notifyObservers(this.something);
}
查看
@Override
public void update(Observable o, Object arg) {
//who called us and what did they send?
System.out.println ("View : Observable is " + o.getClass() + ", object passed is " + arg.getClass());
}
视图不应该知道模型对吗?它只通过update方法获取更改的对象。那么如何使视图使用正确的值而不是“Something”值更改“Devise”字段。