seb*_*ibu 6 java observable observer-pattern
我有一个包含默认列表模型的主JFrame的应用程序.我希望如果我修改这些记录上的内容,第二个正在运行的应用程序会自动更新.
到目前为止,我有一个MainController类,它实现了监听器并覆盖了更新方法:
public class MainController implements ActionListener, Observer {
public void update(Observable o, Object o1) {}
}
Run Code Online (Sandbox Code Playgroud)
和一个扩展Observable的简单类
public class Comanda extends Observable{}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我从第一个应用程序中删除一个记录,第二个列表不会更新.程序正在从文本文件中删除记录,但不更新默认列表模型.编辑或添加也存在同样的问题.
我尝试在更新方法中添加"reloadList()",但这不起作用.想法?
Dav*_*ton 25
你有没有所谓的addObserver对Comanda与添加的MainController作为Observer?此外,当你发生变化时,你打电话setChanged和notifyObservers?
查看您发布的代码,我可以看到您没有将对象Observer和Observable对象连接在一起.正如我所说的,你必须调用addObserver您的Observable对象,然后在你的Observable对象,每当做出改变,你需要调用setChanged然后notifyObservers.只有在notifyObservers被调用时才会调用已添加update的任何Observers 的方法.
你在你的问题中说过,当你删除一个记录时,列表不会更新,这让我觉得这Comanda可能不是Object你想要的Observe.无论哪个对象保存List记录都应该是Observable.
有关Observer/Observable模式的更多信息,请查看此信息.