0
我想實現Java中的觀察者模式。觀察者設計不起作用
我有具有以下嵌套類
public class TitleInformer extends Observable {
private String title = "";
public void SetTitle(String s) {
title = s;
this.notifyObservers();
}
}
當我構建PlannerView
類,我初始化觀察到這樣
public PlannerView(ProjectController projectController) {
titleInformer = new TitleInformer();
titleInformer.addObserver(this);
}
現在類PlannerView extends Observer
,我通過我的觀察到titleInformer
到我在PlannerView
類中創建的另一個對象
actionView = new ActionView (titleInformer);
另一類actionView
,現在有這樣的
public ActionView(TitleInformer ti) {
this.titleInformer = ti;
}
引用的可觀測要求的可觀察的方法,這種方法
titleInformer.SetTitle("New Project");
但早在PlannerView
,其中嵌套可觀察到的是,這最後的方法沒有被調用
public void update(Observable o, Object arg) {
System.out.println(1);
}
爲什麼?
沒有看過你的所有代碼,但爲什麼PlannerView構造函數會忽略它的ProjectController參數? –
我把它剪掉使它更具可讀性 – Saphire
然後完全刪除參數。否則,它會讓我尋找它給我一個紅色的聽證會,讓我把它看作是你的問題的一個可能的原因。 –