我下面这个MVC模式: http://java.sun.com/developer/technicalArticles/javase/mvc/的Java Swing的MVC问题
在我的模型我有一个“ArrayList的形状”字段和我需要的形状,在我看来。
是通过在modelPropertyChange方法中获取形状来获取形状的唯一方法?
public void modelPropertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals(MyController.PROPERTY_TEXT)) {
ArrayList<Shape> shapes = (ArrayList<Shape>) evt.getNewValue();
}
}
还是应该在我的控制器中创建一个通用的getter方法?像这样的通用setter方法:
protected void setModelProperty(String propertyName, Object newValue) {
for (AbstractModel model: registeredModels) {
try {
Method method = model.getClass().
getMethod("set"+propertyName, new Class[] {
newValue.getClass()
}
);
method.invoke(model, newValue);
} catch (Exception ex) {
// Handle exception.
}
}
}
如果我需要这样一个通用的getter方法,我不知道如何把上面这个通用二传手到一个通用的getter方法。 如果我不需要这样的通用getter方法从模型中检索我的数据,如果我只需要我的View中的modelPropertyChange方法。应用程序第一次启动时,我将如何从模型中获取数据? :○
Pfft我需要让我的形状ArrayList的从我的模型,我认为:((后来我需要一些其他数据也)这么混乱:(