很奇怪,update(Observable o, Object arg) 应被调用,运行时竞未被调用
addObserver(Observer o)、notifyObservers()、setChanged() 都没少用,怎么会有问题?
难道是因为偶用的是AWT而不是Swing?
偶曾把无关的代码删掉、准备把程序发到帖中,但是这一问题也消失了
有谁遇到过类似问题吗?难道真是JDK的错?
偶已考虑自行实现了(请提意见):
public class Model
{Vector viewerList=new Vector()
public void addViewer(Object o)
{synchronized(viewerList) {viewerList.addElement(o);}
public void callViewers()
{synchronized(viewerList)
{for(int i=0;i<viewerList.size();i++)
{Viewer v=(Viewer)viewerList.elementAt(i); v.update(); }
}
}
}
public interface Viewer
{public void update();
}
------解决方案--------------------
addObserver了Observer 对象之后就只要调用setChanged就能实际执行Observer接口的update方法了
------解决方案--------------------

------解决方案--------------------
addObserver了Observer 对象之后就只要调用setChanged就能实际执行Observer接口的update方法了
这个说的好