Java Observer Pattern无法通知

时间:2012-07-03 16:43:09

标签: java architecture observer-pattern software-design

出于某种原因,当我使用java.util.Observable对象调用notifyObserver方法时,我的观察者没有得到通知:

这是我的可观察对象:

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();
    }
      ...
      }

我可以从输出中看到观察者正在被添加但没有得到通知。

我的观察者对象如下所示:

public class IDE implements Observer
{

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

    System.out.println("Notified");

}

由于一些奇怪的原因,可观察对象根本没有得到通知。我在这里做错了吗?

1 个答案:

答案 0 :(得分:14)

setChanged

之前,您需要notifyObservers