import java.util.Observable; import java.util.*; public class Model extends Observable { /** The observers that are watching this model for changes. */ private List observers; public Color menuColour; public Color sideColour; public Color controlColour; // Constructor public Model() { this.observers = new ArrayList(); setChanged(); } public void setMenuColour(Color c) { menuColour = c; setChanged(); notifyObservers(); } public void setSideColour(Color c) { sideColour = c; setChanged(); notifyObservers(); } public void setControlColour(Color c) { controlColour = c; setChanged(); notifyObservers(); } // Add observer to be notified on change public void addObserver(Observer observer) { this.observers.add(observer); } // Remove an observer from opdate list public void removeObserver(Observer observer) { this.observers.remove(observer); } // Notify all observers shit went down public void notifyObservers() { for (Observer observer: this.observers) { observer.update(this); } } }