Benutzer-Werkzeuge

Webseiten-Werkzeuge


designpattern:mvc:loesung1:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
designpattern:mvc:loesung1:start [2025/02/13 15:08] – angelegt Martin Pabstdesignpattern:mvc:loesung1:start [2025/02/21 09:09] (aktuell) Martin Pabst
Zeile 1: Zeile 1:
-===== Lösun zu Aufgabe 1 =====+===== Lösung zu Aufgabe 1 =====
 {{ :designpatterns:pasted:20220207-085953.png}} {{ :designpatterns:pasted:20220207-085953.png}}
 Im Programmierkasten unten findest Du den Beginn einer View-Klasse und einer Controller-Klasse für ein Schalterelement (siehe Bild rechts). Per Mausklick soll zwischen den Zuständen "aus" (grau) und "an" (grün) umgeschaltet werden können. Ergänze die beiden Klassen und schreibe eine geeignete Model-Klasse, so dass insgesamt das MVC-Pattern verwirklicht wird!  Im Programmierkasten unten findest Du den Beginn einer View-Klasse und einer Controller-Klasse für ein Schalterelement (siehe Bild rechts). Per Mausklick soll zwischen den Zuständen "aus" (grau) und "an" (grün) umgeschaltet werden können. Ergänze die beiden Klassen und schreibe eine geeignete Model-Klasse, so dass insgesamt das MVC-Pattern verwirklicht wird! 
Zeile 51: Zeile 51:
    Model model;    Model model;
  
-   ArrayList viewlistenerliste = new ArrayList();+   ArrayList<ViewListener> viewlistenerliste = new ArrayList<>();
  
    SchalterView(double top, double left, double width, double height, Model model) {    SchalterView(double top, double left, double width, double height, Model model) {
Zeile 89: Zeile 89:
  
    public void onMouseUp(double x, double y, int key) {    public void onMouseUp(double x, double y, int key) {
-      notify();+      notify1();
    }    }
  
Zeile 108: Zeile 108:
    }    }
  
-   public void notify() { +   public void notify1() { 
-      for(Object listener : viewlistenerliste) { +      for(ViewListener listener : viewlistenerliste) { 
-         ((ViewListener)listener).onChange();+         listener.onChange();
       }       }
    }    }
Zeile 120: Zeile 120:
 class Model { class Model {
  
-   ArrayList modellistenerlist = new ArrayList();+   ArrayList<ModelListener> modellistenerlist = new ArrayList<>();
        
    boolean eingeschaltet = true;    boolean eingeschaltet = true;
Zeile 126: Zeile 126:
    void toggle() {    void toggle() {
       eingeschaltet = !eingeschaltet;       eingeschaltet = !eingeschaltet;
-      notify();+      notify1();
    }    }
        
Zeile 137: Zeile 137:
    }    }
  
-   public void notify() { +   public void notify1() { 
-      for(Object listener : modellistenerlist) { +      for(ModelListener listener : modellistenerlist) { 
-         ((ModelListener)listener).onChange();+         listener.onChange();
       }       }
    }    }
- 
- 
- 
  
 } }
designpattern/mvc/loesung1/start.1739459302.txt.gz · Zuletzt geändert: 2025/02/13 15:08 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki