Observer Patteern java

Spin

Top Contributor
Hallo, wie kann ich java beibringen das ein View mehrer Models beobachtet?

Mit einem Model gehts super, aber mit mehreren geht es nicht.
Ich kann also nicht :

Java:
model.addObserver(view);
model1.addObserver(view);


View:

update(Observer ...)
// hier bekomme ich nur 1 Model, niemals beide !


Danke für Links oder Tipps, grüße Spin
 

Michael...

Top Contributor
So wie's aussieht nutzt Du die Java Standardimplementierung von Observer und Observable, dabei übergibt das Observable eine Referenz auf sich beim benachrichtigen des Observers mit, somit kann man ja vergleichen welches Observable die update Methode ausgelöst hat.
 

Spin

Top Contributor
Alles gut ;)

Java:
if(arg.getClass() == Staple.class){
			Staple game = (Staple)arg;
			this.setStaple(game.getSize());
		
		} else if(arg.getClass() == GameTimer.class){
			GameTimer gameTimer = (GameTimer)arg;
			this.setTimerView(gameTimer.getTime());
		}

Diese Anfänger Frage --- echt peinlich ;)

Das Pattern ist ja so gebaut, dass estra mehrere Models von einem View beobachtet werden kann ;)

Ich habe trotzdem eine Frage.

Frage:
Ich möchte gerne game.getSize() haben und diese größe auf einem Label anzeigen lassen. Leider wird sie erst angezeigt, wenn die update Methode gefeuert wird., setChanged() usw.

Wie kann ich die manuell beim erstenmal feuern?
Ich habe setChanged schon im Konstruktor reingepackt, aber irgendwie passiert nichts ;)

Wie kann ich also Manuel die update starten. Einmal brauche ich sie nur, danach wird sie erst gebraucht wenn ein Button gedrückt wird.

Villeicht weiss da noch einer einen Rat :)

danke cooles java team :)
 

Michael...

Top Contributor
Zunächst einmal der Hinweis auf
Code:
instanceof
Allerdings würde ich in der View ein Liste der Observable halten, um dann auf Gleichheit vergleichen.
Ich möchte gerne game.getSize() haben und diese größe auf einem Label anzeigen lassen. Leider wird sie erst angezeigt, wenn die update Methode gefeuert wird., setChanged() usw.

Wie kann ich die manuell beim erstenmal feuern?
Wieso feuern? Kann man nicht einfach game.getSize() erfragen, wenn man die Information benötigt.
 

Spin

Top Contributor
Ok ich nehme auch gerne instanceOf, aber das löst meine Frage noch nicht.

Ich dachte beim MVC darf das View nicht sein Model kennen.
Daher habe ich keine Liste von Models die beobachtet werden.


Weiter habe ich game nur in der Methode update , die wiederum nur gefeuert wird, wenn setChange bzw notify ..aufgerufen wird.

Daher muss ich die manuel einmal anschubsen, sonst geht es nicht. Wie kann ich das also machen? :)

danke
 

Michael...

Top Contributor
Ich dachte beim MVC darf das View nicht sein Model kennen.
Im Fall von MVC kennt die View das Interface des Models und hält eine Referenz auf dieses.
Beim Observer Pattern (hab nie wirklich mit diesem auseinandergesetzt) ist das glaube ich nicht so.

Kannst ja mal beschreiben, was Du vorhast. Dann kann man Dir vielleicht ein paar Vorschläge zum Aufbau machen.
 

Spin

Top Contributor
Ich bin dabei Rummikub zu programmieren und das im MVC.
Dabei habe ich aber einige Schwirigkeiten alles richtig in MVC umzusetzen. Die Logik und das Programmieren eher weniger, aber die Archtektur.

Nun möchte ich gerne einen Stein aufheben lassen in dem man einen Button drückt.
Unter diesem soll ein Label sein, wieviele Steine noch vorhanden sind.

Es funktioniert alles bis auf das mein Programm nicht ganz MVC ist ....denke ich zumindest.
Um eine schöne Struktur zu haben, finde ich das Observer Pattern echt toll.

Keine get.get.get.get ;)

So wie man sich denken kann , soll gleich zum anfange angezeigt werden : 60 Steine noch verfügbar.
Leider wird der Text erst angezeigt wenn ich das erste mal das update feuer.

Denn nur dort kann ich mir game.getSize() holen.
Da ich es nur da habe , muss ich diese Methode doch irgendwie manuell feuern können.

Das ist die ganze Zeit mein Problem.

Ich meine dem Label kann man vorher "hallo" geben und wenn ich dann das Event einmal feuer , dann wird dort die Zahl angezeigt. Aber ich möchte das gleich haben ;)

Komisch das noch nie einer das gleiche Problem hatte :p

grüße , wenn code mehr hilft, poste ich den gerne noch.

danke
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Methoden Observer-Pattern mit Consumer und accept( ) Java Basics - Anfänger-Themen 6
J Implementierung von Observer und Singleton-Pattern Java Basics - Anfänger-Themen 9
fLooojava MVC Pattern und Observer Pattern Java Basics - Anfänger-Themen 6
Y Observer update Java Basics - Anfänger-Themen 3
N Observer funktioniert nicht Java Basics - Anfänger-Themen 13
G Observer löst zweimal aus Java Basics - Anfänger-Themen 8
A ein observer "post"problem Java Basics - Anfänger-Themen 3
A Observer Pattern Problem Java Basics - Anfänger-Themen 15
J Interface Frage zu Interfces am Beispiel Observer Pattern Java Basics - Anfänger-Themen 8
F Observer Java Basics - Anfänger-Themen 7
U observer thread safe Java Basics - Anfänger-Themen 4
Helgon Observer Pattern - hasChanged() immer false Java Basics - Anfänger-Themen 10
B Wozu Observer? Java Basics - Anfänger-Themen 9
O Liste - Observer/Observeable - HashMap Hilfe Java Basics - Anfänger-Themen 19
C OOP Observer Pattern Java Basics - Anfänger-Themen 2
O Observer - Einfach erklärt? Java Basics - Anfänger-Themen 5
K Observer Pattern notifyObservers Java Basics - Anfänger-Themen 9
P Fragen zum Observer Muster und Datenbanken Java Basics - Anfänger-Themen 2
T Observer ansprechen Java Basics - Anfänger-Themen 2
R Observer funktioniert nicht. Sehe keine Fehler Java Basics - Anfänger-Themen 2
W Observer-Pattern Java Basics - Anfänger-Themen 3
hdi JList mit Model und Observer -> Chaos, blicke nicht durch Java Basics - Anfänger-Themen 22
hdi Observer als statische Klasse ? Java Basics - Anfänger-Themen 2
N observer frage Java Basics - Anfänger-Themen 2
G Implementierung des Observer/Observable Patterns - Gut so? Java Basics - Anfänger-Themen 3
N observer Java Basics - Anfänger-Themen 12
H [erledigt] Observable/Observer Beobachter entfernen Java Basics - Anfänger-Themen 2
G Unterschied Observer&Observable<->java.beans.Prope Java Basics - Anfänger-Themen 4
G Benötige Hilfe bei Problem mit Observer! Java Basics - Anfänger-Themen 2
E Observer Java Basics - Anfänger-Themen 7
K Observer Observable update() . Java Basics - Anfänger-Themen 13
T Verständnisfrage Observer-Pattern Java Basics - Anfänger-Themen 8
Y Observer - notifyObservers(Object arg) Java Basics - Anfänger-Themen 4
M Servlets und Observer Java Basics - Anfänger-Themen 2
G Observable/Observer-Patterns Java Basics - Anfänger-Themen 9
S Observer Pattern notifyObserver Java Basics - Anfänger-Themen 6
M Observer Pattern Java Basics - Anfänger-Themen 14
A MVC Observer Pattern Java Basics - Anfänger-Themen 2
G Observable/Observer update wird nicht ausgeführt Java Basics - Anfänger-Themen 9
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben