Bonjour,

J'ai un petit souci avec un pattern Observer fait maison.

Je dois transférer un int d'une Frame vers un jpanel mais ca ne réagit pas...
J'ai dû me tromper quelque part( vraisemblablement la méthode addObserver n'ajout rien à la liste et je ne sais pas pourquoi.

Voila le code de mes interfaces


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public interface Observable {
 
	public void addObserver(Observer obs);
	public void removeObservers();
	public void updateObserver();
 
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
import javax.swing.JPanel;
 
 
public interface Observer {
	public void updateDes(int err);
}
Dans ma JFrame :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
this.pang.addObserver(new Observer(){
			public void updateDes(int err) {
				// TODO Auto-generated method stub
				System.out.println("Dans updateDes");
				if(err<8){
					String chemin = "images/img"+ err + ".jpg";
					ImageIcon img = new ImageIcon(chemin);
					lblDes.setIcon(img);
					lblDes.setLayout(new BorderLayout());
					panDes.validate();
				}
				//Sinon c'est perdu et on va au panneau panPerdu
				else{
					setContentPane(panPerdu);
				}
			}
		});
et dans mon JPanel qui s'appelle pang :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public void updateObserver() {
		// TODO Auto-generated method stub
		System.out.println("ListObserv : "+ this.listObserv.size());
		for(Observer obs : this.listObserv ){
			obs.updateDes(this.getNbErreur());
			System.out.println("NB Erreur: "+this.getNbErreur());
		}
	}
J'espère que vous pourrez m'aider.

Merci en tout cas.