开发桌面应用程序时,我在Oracle Network上遵循此article来实现MVC.
不过,我有一个问题:我正在使用由SimpleDirectory和WildcardDirectory扩展的抽象Directory类.模型管理器方法之一接受Directory作为参数:
public void addDirectoryDummy(Directory d){
System.out.println("Hello!");
}
抽象控制器使用setModelProperty调用此方法:
protected void setModelProperty(String propertyName, Object newValue) {
for (AbstractModel model: registeredModels) {
try {
Method method = model.getClass().
getMethod(propertyName, new Class[] {
newValue.getClass()
}
);
method.invoke(model, newValue);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
我从实际的控制器中这样称呼它:
public void dummy( Directory d){
setModelProperty( BACKUP_DUMMY, d );
}
我认为我有: