簡體   English   中英

Java Observer和Observable在應用程序之間無法正常工作

[英]Java Observer and Observable not working properly between applications

我有一個包含默認列表模型的主JFrame應用程序。 我希望如果我修改這些記錄上的內容,第二個正在運行的應用程序會自動更新。

到目前為止,我有一個MainController類,它實現了監聽器並覆蓋了更新方法:

public class MainController implements ActionListener, Observer {
  public void update(Observable o, Object o1) {}
}

和一個擴展Observable的簡單類

public class Comanda extends Observable{}

我的問題是,如果我從第一個應用程序中刪除一個記錄,第二個列表不會更新。 程序正在從文本文件中刪除記錄,但不更新默認列表模型。 編輯或添加也存在同樣的問題。

我嘗試在更新方法中添加“reloadList()”,但這不起作用。 想法?

您有一個名為addObserverComanda並添加MainController作為Observer 此外,當您發生更改時,您是否正在調用setChangednotifyObservers

查看您發布的代碼,我可以看到您沒有將ObserverObservable Objects連接在一起。 正如我所說,你必須在你的Observable對象上調用addObserver ,然后在你的Observable對象中,每當做出改變時你需要調用setChanged然后調用notifyObservers 只有在調用notifyObservers才會調用已添加的任何Observerupdate方法。

你在你的問題中說過,當你刪除一條記錄時,列表不會更新,這讓我覺得Comanda可能不是你想要ObserveObject 保存記錄List的那個對象應該是Observable

有關Observer / Observable模式的更多信息,請查看信息。

您要做的是稱為“進程間通信” - 將數據從一個應用程序發送到另一個應用程序。 有各種方法可以做到這一點; Google搜索會為您提供更多信息。 Observable僅適用於單個應用程序。

暫無
暫無

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

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