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(); }Dans ma JFrame :
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); }
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
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); } } });
J'espère que vous pourrez m'aider.
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()); } }
Merci en tout cas.![]()
Partager