一个程序,2个窗口。如何使用观察者从#1更改通知#2?

时间:2013-02-15 17:04:29

标签: java observer-pattern

编辑:我真正想要的是:如何从第二个窗口激活update,但是从第一个窗口激活update。我添加了public class ObserverCtrl extends Observable { public ObserverCtrl(Secretariat window, ) { this.addObserver(window); } public ObserverCtrl(Comisie window) { this.addObserver(window); } public void refresh () { this.setChanged(); this.notifyObservers(); } } (s)。

我有2个窗口,每个窗口都有一个观察者。当我用观察者更新该窗口内的任何内容时,它可以正常工作!

但是我还要更新其他窗口。我认为我的观察者不对,不知道如何改变它

Secretariat window = new Secretariat();
Comisie window2 = new Comisie();

主要文件

private ObserverCtrl observer;
this.observer = new ObserverCtrl(this)

每个JFrame(窗口)都有

@Override
public void update(Observable arg0, Object arg1) {
    candidat_TextField.setText(null);
    sectie_TextField.setText(null);
    codSectie_TextField.setText(null);
    confirmare_TextArea.setText(null);
    listModelCandidati.clear();
    listModelSectii.clear();
    loadSectiiListModel();
    loadCandidatiListModel();
}

第一个窗口,秘书处

@Override
public void update(Observable arg0, Object arg1) {
    this.loadSectiiListModel();

}

第二个窗口,Comisie

Secretariat

我在update()中有一个事件点击按钮。它会为自己激活update,我希望它还为Comisie激活{{1}}

我应该如何实施,以便通过观察者通知#1窗口#2?

1 个答案:

答案 0 :(得分:0)

我创建了另一个extends Observable的类,用于通知Window#2