Swing Eine SWING-Anwendung mittels MVC

Curry

Aktives Mitglied
Moin Moin!

Ich möchte eine Programm in JAVA schreiben und dabei SWING verwenden. Des Weiteren möchte ich streng das MVC-Prinzip in dem Programm einhalten.

Zu MVC habe ich schon mehrere Artikel im Web gelesen, aber keines beschreibt den Aufbau eines kleinen Programmes mit Formularen (z.B. ein Konfigurationsdialog oder eine Benutzereingabe für eine Datenbank), deren Eingabe im Controller kontrolliert wird und was bei Fehlern in der Eingabe die Ausgabe einer Fehlermeldung in dem jeweiligen Forumlar der View zur Folge hat.

Denn wie dies beispielsweise lege artis umgesetzt wird, ist mir beispielsweise nicht klar.

Des Weiteren habe ich gehört, dass es ein kleines Model geben soll, welches den Zustand der View widerspiegelt; also welche Fenster und Dialoge sind offen, welche Eingaben sind vom Benutzer getätigt wurden und welche Werte wurden in der Konfiguration gesetzt.

Ich würde mich sehr freuen, wenn ich hier von euch Hilfe bekommen könnte.

Zum Beispiel direkte Erläuterungen zu meinen Problemen, Hinweise auf gute Anleitungen im Netz oder Quellcode kleiner Programme, die die oben angesprochenen Punkte sauber umsetzen.

Vielen Dank im Voraus!
 
Hallo,

bin auch gerade dabei, mir das anzueignen. Hab hier irgendwo mal einen Link zu einer ziemlich guten Anleitung mit Beispiel gefunden, die mir weitergeholfen hat. Ist in englisch, aber gut verständlich erklärt.

MVC Pattern

Viel Erfolg
Camino
 
Moin Camino!

Danke für deine Antwort. Dieser Artikel ist wirklich sehr gut, doch allerdings kenne ich den bereits.

In diesem Beispiel sind die Controller als lokale Klassen in der jeweiligen View-Klasse implementiert. Ich würde das aber gerne so machen, dass ich ein Controller für eine Aufgabe erstelle und der dann ggf. von mehreren View-Elementen als ActionListener verwendet werden kann.

Der Controller muss dann aber auch die Benutzereingabe validieren (Format einer E-Mail-Adresse, Benutzername schon vorhanden usw.) und ggf. eine Fehlermeldung an die View zurück geben.

Oder wird das anders implementiert? Zum Beispiel über ein ViewModel das nicht gleich dem FachdatenModel ist? Würde dann die View beide Models beobachten? Das FachdatenModel und das ViewModel?

Nach wie vor wäre ich über jede Hilfe sehr dankbar. Vielleicht hat ja jemand ein kleines Beispielprogramm, welches er mir zur Verfügung stellen kann oder kennt ein gutes Open Source Programm, bei welchem ich mir den Quelltext anschauen kann.

Wichtig dabei ist, dass e größer und komplexer ist als die üblichen MVC-Anleitungen im Web, aber dabei nicht zu unübersichtlich ist. ;-)
 
In diesem Beispiel sind die Controller als lokale Klassen in der jeweiligen View-Klasse implementiert. Ich würde das aber gerne so machen, dass ich ein Controller für eine Aufgabe erstelle und der dann ggf. von mehreren View-Elementen als ActionListener verwendet werden kann.

Der Controller muss dann aber auch die Benutzereingabe validieren (Format einer E-Mail-Adresse, Benutzername schon vorhanden usw.) und ggf. eine Fehlermeldung an die View zurück geben.
Na ja, ich hab ja auch erst angefangen, mich mit MVC zu beschäftigen. Zu Beginn hatte ich noch versucht, das wirklich in Model, View und Controller aufzuteilen, aber irgendwann hat mich genervt, dass alles auch über den Controller laufen muss, d.h. meistens irgendwie doppelt. Deshalb fand ich es einfacher und übersichtlicher, wenn das in der View (z.B. über ActionListener) läuft.

Aber was spricht jetzt in deinem Fall dagegen, eine Control-Klasse zu erstellen, die du einfach dem View als Referenz übergibst? Dann kannst du doch aus der View darauf zugreifen und hast die Ergebnisse davon auch gleich in der View.

Viele Grüsse
Camino
 

Neue Themen


Zurück
Oben