Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.

Slides:



Advertisements
Ähnliche Präsentationen
programmiert April-Juni 2003 von Knut Riechmann
Advertisements

der Universität Oldenburg
der Universität Oldenburg
Klassen - Verkettete Liste -
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Kapselung , toString , equals , Java API
Java: Dynamische Datentypen
Listen Richard Göbel.
Java: Grundlagen der Objektorientierung
MVC.
AUFGABE 1: Ein Wagen (dargestellt durch ein Rechteck) soll sich von links nach rechts bewegen. Tipp: Timer benutzen AUFGABE 2: Zusätzlich zu Aufgabe.
Ein Beispiel in Java.
Konstruktoren.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 5 Sitzung 5: Polymorphismus.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung X1 Sitzung X1: Packages & Wiederholung.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Objektorientierte Programmierung JDK-Klassenbibliothek
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
Entwurfsmuster – Iterator
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
04 - Actions Actions Actions 2 Motivation In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt. Häufig werden.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Informatikunterricht mit Java
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sitzung 3: Klassen, Objekte, Arrays und Kontrollstrukturen
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Einfach verkettete Listen (OOP)
AWT und JFC Abstract Windowing Toolkit
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Grundlagen der Programmierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
Programmierpraktikum Java SS 2005
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Letzte Chance!!! Exceptions Thread, Runnable Synchronized Wait, notify, notifyAll Thread States Semaphoren JCSP Swing JOMP Linearizability History Amdahl‘s.
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Das Entwurfsmuster Model-View-Controller
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Die Klasse Vielfrass in Java
Programmiermethodik Übung 9
Informatik Softwareentwicklung – 4.3 Entwurfsmuster
 Präsentation transkript:

Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard

Geosoftware I – Lars Bernard Ziel Zeigen, wie die OOP mit Eingabe und Ausgabe (Input/Output, I/O) umgeht Was ist Besonderes an I/O? Entwurfsmuster: Model-View-Controller Als Vorbereitung für die JAVA-I/O-Entwicklung: Abstract Windowing Toolkit (AWT) und Java Swing GUI-Event-Handling Zeichnen und Digitalisieren Speichern und Lesen in Dateien

Geosoftware I – Lars Bernard Was ist Besonderes an I/O ? I/O arbeitet mit Hardware-Komponenten auf unterster Software-Ebene des Betriebs- systems realisiert wird durch (in OOP: Klassen-) Bibliotheken vor Programmierer gekapselt I/O-Fehler erfordern besondere Vorkehrungen Grundfunktionen (Dateisystem, Konsole, GUI, Drucker) in Java Betriebssystem-unabhängig in der Standard-API

Geosoftware I – Lars Bernard Was ist Besonderes an I/O ?

Geosoftware I – Lars Bernard MVC: Model-View-Controller Model-View-Controller Entwurfsmuster (engl.: design pattern) der OOP MVC ist eine (nicht nur in Java verwendete) Klassenkombination für den Aufbau von Benutzerschnittstellen wesentlich: Trennung von Modell und I/O Modell (Model): Anwendungsobjekt Sicht (View): Darstellung des Modells auf dem Bildschirm (evtl. mehrfach) Steuerung (Controller): definiert Reaktion der Benutzerschnittstelle auf Eingaben

Geosoftware I – Lars Bernard MVC: Model-View-Controller Beispiel zum Zusammenspiel der Objekte: Eingabe oder interne Nachricht Nachricht: geänderte Daten Daten senden Daten fordern

Geosoftware I – Lars Bernard MVC Ein Objekt, mehrere Darstellungen Präsentation ändert sich häufiger als Funktionalität Tipp: immer zuerst Kernklassen entwerfen, dann Benutzerschnittstelle entwerfen vgl. Kartografie: GIS-Daten (z. B. Punkte, Flächen, Einwohnerzahlen) graphische Variablen (z. B. Farben, Kreissektoren).

Geosoftware I – Lars Bernard Java Beispiel

Geosoftware I – Lars Bernard Model class FigureContainer{ FigureContainer(){ figures_ = new ArrayList(); isChanged_ = false; } void add(FigureInterface fig){ figures_.add(fig); isChanged_ = true; } boolean isChanged(){ return isChanged_; } Iterator iterator(){ return figures_.iterator(); } List figures_; boolean isChanged_; }

Geosoftware I – Lars Bernard View class View{ View() {} FigureInterface figureIn(){ return new Circle(10.0D * Math.random()); } void figureOut(FigureContainer cont){ Iterator itr = cont.iterator(); System.out.println("FIGURE_CONTAINER:"); while (itr.hasNext()){ FigureInterface fig = (FigureInterface)itr.next(); System.out.println(fig.getClass().getName()); } System.out.println("END"); }

Geosoftware I – Lars Bernard Controller class Controller{ Controller(){ view_ = new View(); container_ = new FigureContainer(); } void run(){ for (int i = 1; i <5; i++){ container_.add(view_.figureIn()); } if (container_.isChanged()){ view_.figureOut(container_); } View view_; FigureContainer container_; }

Geosoftware I – Lars Bernard Beispiel public class FigureViewExample { public static void main(String[] args) { Controller controller = new Controller(); controller.run(); System.out.println("finish"); }

Geosoftware I – Lars Bernard Zusammenfassung Das Modell der Anwendung und die Darstellung des Modells am Bildschirm sind zwei getrennte Konzepte. Aussicht auf nächste Woche - Javas Standard- Klassen (schon mal im Tutorial vorbereiten): um Werte als Text ein- und auszugeben für grafische Interaktion: GUI-Klassen

Geosoftware I – Lars Bernard Aufgabe 4 Im Laufe der nächsten beiden Sitzung: Implementierung des MVC Beispiels Einlesen in Grundlagen zur GUI-Entwicklung in Java