We can use either way of propertyChangeListener or Observer-Observable pattern to make comunication among panels. Which is the better way? Why? Or More specifically where can I use Observer-Observable and where can I use PropertyChangeListener. As per my understanding when it is required to pass more than one property then it's better to use PropertyChangeListener than the other. Is it correct?