我下面這個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的從我的模型,我認爲:((後來我需要一些其他數據也)這麼混亂:(