Model.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import java.util.Observable;
  2. import java.util.*;
  3. public class Model extends Observable
  4. {
  5. /** The observers that are watching this model for changes. */
  6. private List<Observer> observers;
  7. public Color menuColour;
  8. public Color sideColour;
  9. public Color controlColour;
  10. // Constructor
  11. public Model()
  12. {
  13. this.observers = new ArrayList();
  14. setChanged();
  15. }
  16. public void setMenuColour(Color c)
  17. {
  18. menuColour = c;
  19. setChanged();
  20. notifyObservers();
  21. }
  22. public void setSideColour(Color c)
  23. {
  24. sideColour = c;
  25. setChanged();
  26. notifyObservers();
  27. }
  28. public void setControlColour(Color c)
  29. {
  30. controlColour = c;
  31. setChanged();
  32. notifyObservers();
  33. }
  34. // Add observer to be notified on change
  35. public void addObserver(Observer observer)
  36. {
  37. this.observers.add(observer);
  38. }
  39. // Remove an observer from opdate list
  40. public void removeObserver(Observer observer)
  41. {
  42. this.observers.remove(observer);
  43. }
  44. // Notify all observers shit went down
  45. public void notifyObservers()
  46. {
  47. for (Observer observer: this.observers)
  48. {
  49. observer.update(this);
  50. }
  51. }
  52. }