As I understand it they're not proxies. When you call setAge() you fire off an JavaBean properychange event. The hidden magic is the group.bind() method which adds PropertyChange listeners to your Person object so components can respond to change events (in this a change to the age property).
This is why it's important to unbind(). Because your domain object (Person) is likely to out-live your view or form. i.e. Person contains a bunch of event listeners for the bound components/columns etc.. See PropertyChangeSupport or swingx/appframework AbstractBean. |