J'ai implanté le pattern Observer, mais celui ci ne donne pas signe de vie
Plus d'explication avec mes classes:
Classe Main : (rien de bien compliqué
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Observable model = new Model();
Fenetre fen = new Fenetre(model);
fen.setVisible(true);
}
}
Classe Fenetre:
public class Fenetre extends JFrame implements Observer{// J'implémente Observer
private Observable model;
private int licence_ok;
public Fenetre(Observable obs){//modèle en argument
this.model = obs;
this.model.addObserver(this); // je place mon écouteur
}
public void showLicence(int licence){ // Pattern Observer
this.licence_ok =licence;
System.out.println("licence_ok : "+licence); // Il ne me renvoit rien showLicence ne s'exécute pas
}
}
Classe Observable
public interface Observable {
public void addObserver(Observer obs);
public void licenceObserver();
}
Classe Observer
public interface Observer {
public void accueil();
public void showLicence(int licence);
}
Mon modèle:
Classe Modele
public class Model implements Observable{ // J'implémente Observable
private ArrayList<Observer> listObserver = new ArrayList<Observer>();
private LicenceSerializer licence;
private int licence_int;
public Model(){
this.licence = new LicenceSerializer();
this.licence_int = this.licence.getLicence();
licenceObserver();
}
public void addObserver(Observer obs) {
this.listObserver.add(obs);
}
public void licenceObserver(){ // Je met a jour la licence
for(Observer obs : this.listObserver)
obs.showLicence(licence_int);
System.out.println("Ma licence : "+licence_int); // Il me renvoi bien la phrase Ma licence : 5
}
}
La méthode showLicence ne me renvoi rien !!
Merci pour votre aide
Pattern Observer
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.