Swing MVC-Pattern - View mit mehreren Models

MayR42

Mitglied
Hallo zusammen!

Ich arbeite gerade an einer GUI, die in Swing entwickelt werden muss. Ich will das ganze nach dem bekannten MVC-Pattern realisieren (View implementiert Observer, Controller implementiert ActionListener, Model extende Observable).

Die eine View ist relativ vollgepackt (Expertenansicht) und enthält viele Elemente (Listen, viele Checkboxen usw.). Den Zustand dieser Elemente will ich auf mehrere Models aufteilen, da einige Daten nicht so recht zusammen gehören und die eine View in Zukunft vielleicht nochmal aufgeteilt werden soll (Anfängeransichten mit Dialog).

Meine Idee:
In der View würde ich folgenden Code implementieren, der unterscheidet welches Model aktualisiert wurde und welche View-Elemente neugezeichnet werden müssen:

Java:
 @Override
    public void update(Observable o, Object arg) {
        if(o.getClass().getName().equalsIgnoreCase("erstesMdl"))
        this.zeichneListe();
        else if (o.getClass().getName().equalsIgnoreCase("zweitesMdl"))
        this.zeichneTabelle();

    }

Was haltet ihr davon? Ist das kompletter Käse und gibt es etwas "eleganteres"?
 

mrBrown

Super-Moderator
Mitarbeiter
instanceOf wäre die bessere Variante ;)

Im Idelafall würde ich es aber wenn möglich mit einer Model-Instanz pro update() lösen, und bei dir zB die View auch splitten. Alternativ Java 8 + Lambdas und kein implementieren von Observer ;)
 

MayR42

Mitglied
Das mit instanceOf ist besser, danke.

Ich hab meinen Code dazu gleichmal angepasst. Habe die Methodenaufrufe auch gleich überarbeitet.
Java:
 @Override
    public void update(Observable o, Object arg) {
        if(o instanceof ErstesMdl"))
             zeichneListe(((ErstesMdl) o).getListe());

        else if (o instanceof ZweitesMdl)
             zeichneTabelle(((ZweitesMdl) o).getTabelle());
        else
             //mache nix
    }

Deinen zweiten Abschnitt verstehe ich nicht.
 

mrBrown

Super-Moderator
Mitarbeiter
Die View kann das Model sowieso kennen - deshalb würde ich die Parameter, die Update hat, nicht nutzen, sondern nur mit entsprechenden Instanzattributen arbeiten.

Und die View in mehrere aufteilen, die jeweils einen einzelnen Aspekt zeigen, und dafür auch nur ein Model benötigen
 

mrBrown

Super-Moderator
Mitarbeiter
Nein - ein Frame reicht.

Du kannst aber den Inhalt des Frames sinnvoll gruppieren und nicht direkt zusammengehörendes auf mehrere Klassen aufteilen, wie du es auch beim Model gemacht hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Observer Pattern JLabel ändern AWT, Swing, JavaFX & SWT 7
B JavaFX Pattern (Aufteilung Zuständigkeiten AWT, Swing, JavaFX & SWT 7
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
Cromewell JavaFX MVC-Pattern AWT, Swing, JavaFX & SWT 7
L JavaFX Java FX Anwendung nach MVC mit Observer Pattern AWT, Swing, JavaFX & SWT 15
3 2D-Grafik BasicStroke dash pattern - Linie zu lang!? AWT, Swing, JavaFX & SWT 1
M Welches Pattern bei GUI Anwendungen? AWT, Swing, JavaFX & SWT 2
lumo SWT Image Pattern AWT, Swing, JavaFX & SWT 5
M Swing MVC Pattern verstanden, aber Probleme bei der Umsetzung AWT, Swing, JavaFX & SWT 5
C GUI Entwicklung - welches Pattern? AWT, Swing, JavaFX & SWT 16
J Swing Controller im MVC-Pattern AWT, Swing, JavaFX & SWT 9
G Hilfe! Command Pattern an easy ImageViewer? AWT, Swing, JavaFX & SWT 13
D Wie mehrere Grafiken auf JPanel anzeigen lassen? (Observer pattern?) AWT, Swing, JavaFX & SWT 24
D MVC Pattern in Swing-Applikationen AWT, Swing, JavaFX & SWT 4
hdi Observer-Pattern bei JPanel nicht möglich? AWT, Swing, JavaFX & SWT 7
A MVC-Pattern - Kreuzweise Anwendung? AWT, Swing, JavaFX & SWT 4
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
J Saubere Trennung Model, View, Controller Javafx AWT, Swing, JavaFX & SWT 10
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
S JavaFX Boolean ändern Table View AWT, Swing, JavaFX & SWT 14
M JavaFX - Array in View auslesen AWT, Swing, JavaFX & SWT 12
4a61766120617274697374 dynamische Tree View AWT, Swing, JavaFX & SWT 2
H JavaFX Ein View vorschalten Exception AWT, Swing, JavaFX & SWT 7
M SWT View nicht mehr sichtbar AWT, Swing, JavaFX & SWT 2
G JavaFX "Framework" zur View Ersellung AWT, Swing, JavaFX & SWT 0
M JavaFX Image View Würfel berechnen AWT, Swing, JavaFX & SWT 3
K Panels mit eigenen Controllern in Main-View einbauen AWT, Swing, JavaFX & SWT 4
T View AccessibleContext AWT, Swing, JavaFX & SWT 0
S Swing Auf Änderungen eines Models in der View einer JTable reagieren AWT, Swing, JavaFX & SWT 1
S Swing JPanel in View ersetzen AWT, Swing, JavaFX & SWT 10
O Swing JTextField Sync View -> Model AWT, Swing, JavaFX & SWT 3
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
L View aus dem MVC ist immer die GUI? AWT, Swing, JavaFX & SWT 5
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
Rudolf Swing Baut die View die Modelebene auf oder wer? AWT, Swing, JavaFX & SWT 13
G Swing MVC / View - Controller AWT, Swing, JavaFX & SWT 7
N MVC - Logik zum Verändern der View AWT, Swing, JavaFX & SWT 8
V Eclipse View Right-Click Menu hinzufügen AWT, Swing, JavaFX & SWT 2
D Drag-Action: Innerhalb meiner View? AWT, Swing, JavaFX & SWT 3
C SWT-Elemente an View-Fenster angleichen und automatisch resizen AWT, Swing, JavaFX & SWT 3
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
R Model View Controller Konzept AWT, Swing, JavaFX & SWT 2
R Swing Designfrage - Zusammenspiel Model / View AWT, Swing, JavaFX & SWT 10
J Swing SwingActions und das Problem auf den View bzw. das Model zuzugreifen AWT, Swing, JavaFX & SWT 2
D Swing JTable Model View Problem AWT, Swing, JavaFX & SWT 6
H shell in view implementieren; menu mit keystroke unterlegen AWT, Swing, JavaFX & SWT 8
M Swing Model an View binden AWT, Swing, JavaFX & SWT 4
M Swing Von einem Controller aus View-Elemente ändern AWT, Swing, JavaFX & SWT 11
H Swing JScrollPane mit JPanel als View AWT, Swing, JavaFX & SWT 3
B Sudokuartiger View (RadiobuttonTableView) mit JFace Viewer? AWT, Swing, JavaFX & SWT 3
N FileChooser in View AWT, Swing, JavaFX & SWT 3
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
hdi Swing JTable & Filtern: Daten nicht in der View AWT, Swing, JavaFX & SWT 2
B SWT Textdatei Lesen und Anzeige in View - Zeichensatzproblem AWT, Swing, JavaFX & SWT 4
D Design - View & Controller AWT, Swing, JavaFX & SWT 2
H Eclipse View / Window Layout AWT, Swing, JavaFX & SWT 3
N RCP/SWT View durch Programm auf 2. Bildschirm verschieben AWT, Swing, JavaFX & SWT 2
B view in andere View einbinden AWT, Swing, JavaFX & SWT 5
G RCP - SWT :: Scrollbars in einer View AWT, Swing, JavaFX & SWT 10
Zed JTable view auf Selection setzen AWT, Swing, JavaFX & SWT 2
R MVC: System.out.prinln in View umleiten geht nicht richtig AWT, Swing, JavaFX & SWT 7
K JSpinner - Model <-> View, unterschiedliche Werte AWT, Swing, JavaFX & SWT 9
E Mehrere Views in einer View AWT, Swing, JavaFX & SWT 3
TRunKX Ereignissweitergabe von Jlist.getSelected() aus der View AWT, Swing, JavaFX & SWT 7
P Verbindung View und Controller AWT, Swing, JavaFX & SWT 3
D Scrollbalken in einem View AWT, Swing, JavaFX & SWT 2
I Shell aus einer Plugin-View öffnen . AWT, Swing, JavaFX & SWT 4
B View zeichnet Daten aus dem Model ohne Update AWT, Swing, JavaFX & SWT 4
F MVC: Update von View und Controller AWT, Swing, JavaFX & SWT 5
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
C Model View Controller - Beispielimplementation AWT, Swing, JavaFX & SWT 5
M SWT und Model View Controller? AWT, Swing, JavaFX & SWT 8
M auch JScrollPane aber mit Zoomen, wie wird der View gesetzt AWT, Swing, JavaFX & SWT 2
G Ikonli in Fat-Jar mit mehreren Icon-Packs einbinden AWT, Swing, JavaFX & SWT 5
F Zeile in mehreren Jtables bei Selektion markieren AWT, Swing, JavaFX & SWT 11
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
P JavaFx - Progressbar - Füllen mittels mehreren Tasks AWT, Swing, JavaFX & SWT 0
O Basics - Anwendung erstellen mit mehreren Szenen AWT, Swing, JavaFX & SWT 1
N Taschenrechner mit mehreren Rechnungen AWT, Swing, JavaFX & SWT 18
B JavaFX PrinterJob mit mehreren Seiten AWT, Swing, JavaFX & SWT 0
T JavaFX Label mit mehreren Images AWT, Swing, JavaFX & SWT 11
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
S JComboBox mit mehreren Spalten? AWT, Swing, JavaFX & SWT 6
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
M Swing MVC mit mehreren Klassen AWT, Swing, JavaFX & SWT 2
J JavaFX eine Art Tabelle, jedoch mit mehreren Zeilen AWT, Swing, JavaFX & SWT 2
K Swing Klassenstruktur mit mehreren JPanels AWT, Swing, JavaFX & SWT 3
M Applikation mit mehreren Scenes AWT, Swing, JavaFX & SWT 5
F Swing JAVA GUI Übergabe von Werten zwischen mehreren Fenstern/Klassen AWT, Swing, JavaFX & SWT 10
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
J Mit mehreren in Objekten in JFrame printen? AWT, Swing, JavaFX & SWT 8
P Liste mit Icons und mehreren Spalten AWT, Swing, JavaFX & SWT 7
B Swing Formular mit mehreren Elementen - wie die ActionListener-Verarbeitung lösen? AWT, Swing, JavaFX & SWT 2
S Shape erstellen der aus mehreren Elementen besteht..? AWT, Swing, JavaFX & SWT 3
F Tablemodel zu mehreren Tabellen AWT, Swing, JavaFX & SWT 6
T Sichtbarmachen von Objekten auf mehreren JPanels AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben