Observer Pattern notifyObserver

Status
Nicht offen für weitere Antworten.

Sindbad1983

Top Contributor
Hi!


Ich bin jetzt grad dabei ein Observer Pattern zu implementieren und heute hab ich zum ersten Mal das Gefühl, dass Programmieren Spaß macht... :idea:
ist das nicht schön?

ich glaub ich habs auch fast, nur fehlt jetzt noch der letzte "Zentimeter" zum Erfolg! :bae:
Kann mir da bitte noch jemand unter die Arme greifen?


Ich möcht eine Zahl dekrem, und inkrem. und die aktuelle Zahl soll immer im TextField ausgegeben werden!

Model ist Observable und View Observer!

Im Model hab ich eine Liste mit lauter Observern gespeichert!

Nur hab ich da jetzt ein Problem in der Methode notifyObserver(..){ ..}

da kenn ich mich jetzt grad nicht aus?
also eigentlich sind nur die Methoden notifyObserver und update interessant!
Da dürfte der Fehler liegen!
was gehört da hinein?

Code:
public class Berechnung extends Observable {
	
	int zahl;
	ArrayList<Observer> list=new ArrayList<Observer>();
	BerechnungView view;
	
	
	
	public Berechnung(int zahl){
		this.zahl=zahl;
		
		
		
	}
	
	public void inkrement(){
		zahl++;
		setChanged();
		notifyObserver(zahl);
	}
	
	public void dekrement(){
		zahl--;
		setChanged();
		notifyObserver(zahl);
	}
	
	public void addObserver(Observer o){
		list.add(o);
	}
	
	public void removeObserver(Observer o){
		list.remove(o);
	}
	
	public void notifyObserver(int zahl){
		
				
		for(Observer i :list){
			i.update(this, zahl);
		}
	}	
}


Code:
public class BerechnungView extends JFrame implements Observer, ActionListener{
	
	JButton inkre;
	JButton dekre;
	JTextField eingabe;
	JTextField ausgabe;
	
	Berechnung berechnung;
	
	public BerechnungView(String titel){
		
		super(titel);
		berechnung=new Berechnung(0);
		berechnung.addObserver(this);
		
		Container c=getContentPane();
		
		Panel p=new Panel();
		p.setBackground(Color.white);
		c.setFocusable(true);
		c.add(p);
		
		  eingabe=new JTextField(10);
		  p.add(eingabe);
		  
		  inkre=new JButton("+");
		  p.add(inkre);
		  inkre.addActionListener(this);
		  
		  dekre=new JButton("-");
		  p.add(dekre);
		  
		  
		  ausgabe=new JTextField(10);
		  p.add(ausgabe);
		  dekre.addActionListener(this);
		
		
		
		
		
	}
	
	public void actionPerformed(ActionEvent e) {
		
		String cmd="";
		
		if(cmd.equals("+")){
			berechnung.inkrement();
			
		}
		else if(cmd.equals("-")){
			berechnung.dekrement();
			
		}
		
	}
	
	public void update(Observable arg, Object obj){
		
		String s=String.valueOf(obj);
		ausgabe.setText(s);
		
		
		
	}
	
	
	public static void main(String [] args){
		BerechnungView view=new BerechnungView("Berechnung");
		view.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		view.setLocation(150,150);
		view.setSize(160,130);
		view.setVisible(true);
	}




}
 
B

bygones

Gast
Java bietet mit dem Klassen schon eine Implementation. D.h. du musst die Observer nicht selber speichern. Sobald deine Klasse von Observable erbt kannst du die Methoden aus der Klasse (siehe API) voll nutzen
 

Sindbad1983

Top Contributor
du meinst die Methode addObserver(..) oder?


ich hab außerdem den Fehler schon:
String cmd=e.getActionCommand();
Danke Wildcard! ;-)
 
B

bygones

Gast
ich meinte die ganze Verwaltung der Observer & die Methoden sind überflüssig da schon vorhanden...

und ich weß, dass meine Sig irritierend ist, aber noch deathbyaclown :wink:
 
Status
Nicht offen für weitere Antworten.
Ä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
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
Helgon Observer Pattern - hasChanged() immer false Java Basics - Anfänger-Themen 10
C OOP Observer Pattern Java Basics - Anfänger-Themen 2
K Observer Pattern notifyObservers Java Basics - Anfänger-Themen 9
W Observer-Pattern Java Basics - Anfänger-Themen 3
T Verständnisfrage Observer-Pattern Java Basics - Anfänger-Themen 8
M Observer Pattern Java Basics - Anfänger-Themen 14
A MVC Observer Pattern Java Basics - Anfänger-Themen 2
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
F Observer Java Basics - Anfänger-Themen 7
U observer thread safe Java Basics - Anfänger-Themen 4
B Wozu Observer? Java Basics - Anfänger-Themen 9
Spin Observer Patteern java Java Basics - Anfänger-Themen 7
O Liste - Observer/Observeable - HashMap Hilfe Java Basics - Anfänger-Themen 19
O Observer - Einfach erklärt? Java Basics - Anfänger-Themen 5
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
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
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
G Observable/Observer update wird nicht ausgeführt Java Basics - Anfänger-Themen 9
D was ist der vorteil vom Builder-design pattern? Java Basics - Anfänger-Themen 11
W GoF-Pattern im Programmierer-Alltag Java Basics - Anfänger-Themen 113
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
Dimax Erste Schritte Pattern.matcher,die Besonderheiten. Java Basics - Anfänger-Themen 12
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
F Design pattern Java Basics - Anfänger-Themen 29
W RegEx Matcher + Pattern und Emails Java Basics - Anfänger-Themen 8
M Schlüsselworte Unterschied: String.matches und Pattern.compile Java Basics - Anfänger-Themen 2
C Best Practice JTable in MVC Pattern Java Basics - Anfänger-Themen 7
D Design Pattern Command Java Basics - Anfänger-Themen 3
Bregedur Methoden Matcher und Pattern bei sich wiederholenden Werten Java Basics - Anfänger-Themen 1
S Regex Pattern Java Basics - Anfänger-Themen 3
Z Pattern und Matcher substring zu String möglich? Java Basics - Anfänger-Themen 4
B Pattern für Email Liste Java Basics - Anfänger-Themen 3
J Builder Pattern implementieren Java Basics - Anfänger-Themen 3
Tarrew Proxy Design-Pattern Java Basics - Anfänger-Themen 1
M Methoden Pattern Matching Vokal Java Basics - Anfänger-Themen 2
agent47 Pattern split Java Basics - Anfänger-Themen 2
J MVC Pattern, mehrere Controller/Views/Models Java Basics - Anfänger-Themen 0
B Strategy Pattern - Rechner Java Basics - Anfänger-Themen 6
I Vertändnisfrage zu Prototype Pattern Java Basics - Anfänger-Themen 0
L Kompositum-Pattern Hilfe :O Java Basics - Anfänger-Themen 4
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
S Je nach erhaltene Daten unterschiedlich reagieren (Design Pattern?) Java Basics - Anfänger-Themen 3
B Pattern Matching ohne Match-Methoden Java Basics - Anfänger-Themen 11
Furtano OOP Memento Pattern | übergabe einer Kopie des Arrays Java Basics - Anfänger-Themen 0
F Erste Schritte Pattern zum Zerlegen von selbstdefinierten Dateinamen Java Basics - Anfänger-Themen 7
M MVC + Strategy Pattern Ansatz (mit Code) Java Basics - Anfänger-Themen 5
A Design Pattern - Welche? Java Basics - Anfänger-Themen 33
Rudolf OOP Übungen zu Design Pattern in Java Java Basics - Anfänger-Themen 6
S OOP Regex Pattern Java Basics - Anfänger-Themen 2
P Grundsatzfrage zu Decorator-Pattern Java Basics - Anfänger-Themen 6
L Pattern Matching Java Basics - Anfänger-Themen 3
L RegExp bzw Pattern in Java Java Basics - Anfänger-Themen 6
R aktualisierung des View im MVC-Pattern Java Basics - Anfänger-Themen 5
M RegEx Pattern Matcher Java Basics - Anfänger-Themen 16
R Pattern bzw. Regex HTML-Code Java Basics - Anfänger-Themen 10
N Regexp Pattern & Matcher Problem Java Basics - Anfänger-Themen 4
I OOP Verständnisfrage zu Singelton Pattern Java Basics - Anfänger-Themen 21
R Welches Design pattern Java Basics - Anfänger-Themen 10
B static und Pattern matching Java Basics - Anfänger-Themen 22
T pattern klappt nicht so Java Basics - Anfänger-Themen 6
T Decorator Pattern Java Basics - Anfänger-Themen 7
A Pattern und Matcher Java Basics - Anfänger-Themen 9
T Frage zu Pattern/Matcher Java Basics - Anfänger-Themen 6
D Pattern in Midi-Sequencer Java Basics - Anfänger-Themen 2
V Frage zu Decorator-Pattern Java Basics - Anfänger-Themen 4
S OOP Factory Pattern Java Basics - Anfänger-Themen 2
M Regex-Pattern Java Basics - Anfänger-Themen 2
Haubitze_Broese Pattern für Links in RSS-Reader Java Basics - Anfänger-Themen 6
Raidri Pattern liefert false Java Basics - Anfänger-Themen 9
megachucky regex-Problem ( mit den Klassen Matcher / Pattern) --> XML prüfen Java Basics - Anfänger-Themen 11
O useDelimiter / Muster im Parameter (Pattern) Java Basics - Anfänger-Themen 6
S Problem mit Pattern Java Basics - Anfänger-Themen 2
S Pattern.matches mit Ignore Case Java Basics - Anfänger-Themen 2
N in int array einen pattern(eine zahl) finden Java Basics - Anfänger-Themen 21
A Hilfe zu Pattern Java Basics - Anfänger-Themen 2
Y Pattern Java Basics - Anfänger-Themen 2
A Proxy Pattern implementieren Java Basics - Anfänger-Themen 2
N OOP MVC Pattern Java Basics - Anfänger-Themen 3
G Probleme mit Pattern und Aussagenlogik Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben