0

編集:私が本当に欲しいのは:update2番目のウィンドウから、しかし最初のウィンドウからアクティブ化する方法です。両方を追加しまし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();
}

セカンドウィンドウ、コミッション

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

}

にイベントクリックボタンがありますSecretariat。それはそれ自身のために活性化update()します、私はそれがまた活性化することを望みupdateますComisie

オブザーバーを介して#1からウィンドウ#2に通知できるようにするには、どのように実装すればよいでしょうか。

4

1 に答える 1

0

私は別のクラスを作成し、それextends Observableを使用してウィンドウ#2に通知しました

于 2013-02-15T17:36:15.667 に答える