Java Swing MVC question

Posted by juFo on Stack Overflow See other posts from Stack Overflow or by juFo
Published on 2010-03-21T23:11:13Z Indexed on 2010/03/21 23:21 UTC
Read the original article Hit count: 427

Filed under:
|
|

I'm following this MVC model: http://java.sun.com/developer/technicalArticles/javase/mvc/

In my model I have an "ArrayList shapes" field and I need the shapes in my view.

Is the only way of getting my shapes by getting them in the modelPropertyChange method?

public void modelPropertyChange(PropertyChangeEvent evt) {

    if (evt.getPropertyName().equals(MyController.PROPERTY_TEXT)) {
        ArrayList<Shape> shapes = (ArrayList<Shape>) evt.getNewValue();
    }

}

or should I also create a generic getter method in my controller? like this generic setter method:

   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.
        }
    }
}

If I need such a generic getter method, I have no clue how to transform this generic setter above to a generic getter method. If I don't need such a generic getter method to retreive my data from the model, if I only need the modelPropertyChange method from my View. How would I get my data from the model the first time the application starts? :o

Pfft I need to get my arraylist of shapes from my model in my view :( (and later I need to get some other data also) So confusing :(

© Stack Overflow or respective owner

Related posts about java

Related posts about swing