Klassisches MVC

AndiE

Top Contributor
Ich stelle mal ein Thema, das mir etwas peinlich ist. Aber ich werde aus den Tutorials im Netz nicht schlau.

Es geht darum, dass es ein Datenmodell gibt, das ein Array x*y ist. Beim Start wird das Array ohne Daten angezeigt. Das Array wird mit Swing auf ein Panel gezeichnet.

Um das Daten reinzubekommen, gibt es für mich grundsätzlich 2 Möglichkeiten.

1. Der Nutzer klickt auf die Ansicht. Es wird ein Dialogfeld aufgerufen. Dort kann man den Eintrag in das entsprechende Kästchen ändern, dessen Koordinaten man aus der Position der Maus beim Klicken ermitteln kann. Bei Bestätigung mit dem "OK"-Button wird das Datenmodell geändert und die Ansicht neu gezeichnet.

2. Das Datenmodell wird in ein Serialisierungsobjekt überführt. Dann kann man es auch leeren, abspeichern oder eben mit dem Befehl Laden mit Daten füllen. Nun muss auch die Ansicht neu gezeichnet werden.

Problem: Wie macht man das mit Swing? So richtig habe ich keine Hilfe gefunden, wie man eine MVC-Architektur in so einem Fall umsetzt. Es geht auch darum, wie man den modalen Dialog verwendet und erstellt.

Ich weiß, dass das üblicherweise Anfängerwissen sein sollte, aber ich habe im Moment keinen Plan.
 

mihe7

Top Contributor
Ganz grundsätzlich trennst Du die Ansicht von den Daten, die angezeigt werden sollen. Die Komponente hat als View ein Model, das die anzuzeigenden Daten so liefert, wie die Komponente sie benötigt. Das Model informiert per Events über Änderungen. Die View registriert sich als Listener beim Model und zeichnet sich selbst, wenn das Model ein solches Event auslöst.
 

Neue Themen


Oben