Using JGoodies With Other Frameworks
If you create GUIs using the JGoodies Binding library, you will probably have to create bean classes that extend the com.jgoodies.binding.beans.Model class.
If your desktop application also uses a framework for other purposes (e.g., persistency) and you plan to use the same model object from the GUI with this framework, then you will have to make sure you don't have conflicting requirements.
This problem is reasonably common and happens because java doesn't allow multiple inheritance. So, any framework that is used in conjunction with JGoodies and has rules for the target object (e.g., it must be a POJO), then the implementation starts to become more complex.
Let's discuss one possible solution for those cases where the other framework requires the object to be a POJO (e.g., Hibernate, JPA, etc.). In such cases, we can create one class for the POJO (attributes + getters + setters) and another class that wraps this POJO, which has similar methods but has the advantage to execute other actions.
Example of POJO:
public String getName() { return name; }
public void setName(String name) { this.name = name; }
The POJO above can be used by the persistency framework without problems. Now we need a class to be used by the Binding library (GUI):
public StudentModel(Student student) { this.student = student; }
public String getName() { return student.getName(); }
public void setName(String name) {
student.setName(name);
this.firePropertyChange("name", old, name);
This isn't a perfect solution, but solves the problem. One disadvantage is the maintenance required by the two sets of methods that access the POJO, which could be automated by a small piece of code that uses java reflection.

Stumble it!
Dzone.com
Digg.com
Reddit.com
Del.icio.us