簡體   English   中英

一個程序,兩個窗口。 如何使用觀察者從1號通知2號變化?

[英]One program, 2 windows. How to notify #2 from #1 of change using observer?

編輯:我真正想要的是:如何從第二個窗口,但從第一個窗口激活update 我添加了兩個update

我有2個窗口,每個窗口都有一個觀察者。 當我用觀察者更新該窗口中的任何內容時,它就起作用了!

但是我也想更新另一個窗口。 我認為我的觀察者是不對的,盡管不知道如何更改它

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

}

主文件

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

每個JFrame(窗口)都有

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

第一個窗口,秘書處

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

第二個窗口,Comisie

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

}

我在Secretariat有一個事件單擊按鈕。 它本身會激活update() ,我希望它也能為Comisie激活update

我應該如何實現,使通過觀察者從#1通知窗口#2成為可能?

我制作了另一個extends Observable類,用於通知2號窗口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM