Modèle d'observateur Java ne notifiant pas


Pour une raison quelconque, mes observateurs ne sont pas avertis lorsque j'appelle les méthodes notifyObserver, en utilisant java.util.Objets observables:

Voici mon objet observé:

public class ProjectManager extends Observable
{
...
 public void updateProjects(String project, String pack, String source, String ARN)
{
   ...
if(newSource)
    {
    tempPack.add(tempSource);
    System.out.println("Notify observers: " + this.countObservers());
    this.notifyObservers();
    }
      ...
      }

Je peux voir à partir de ma sortie que l'observateur est ajouté mais n'est pas notifié.

Et mon objet observateur ressemble à ceci:

public class IDE implements Observer
{

@Override
public void update(Observable o, Object arg) {

    System.out.println("Notified");

}

Pour une raison étrange, l'objet observable n'est pas du tout notifié. Suis-je en train de faire quelque chose de mal ici?

Author: Satya, 2012-07-03

1 answers

Vous devez setChanged avant notifyObservers

 14
Author: Jacob Raihle, 2012-07-03 16:44:32