package examples; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.*; public class SomeView extends JButton implements PropertyChangeListener { SomeModelState model; public SomeView(SomeModelState model) { this.model = model; update(); model.addPropertyChangeListener(this); } void update() { setText(model.getName()); } public void propertyChange(PropertyChangeEvent evt) { update(); } }