我正在尝试构建一个简单的Observer-Observable,当我调用notifyObservers();
时,它不起作用并继续。有人知道该怎么办?
P级:
import java.util.Observable;
public class P extends Observable{
public void func(){
notifyObservers();
}
}
Ob类:
import java.util.Observable;
import java.util.Observer;
public class Ob implements Observer{
P p;
public Ob(P p) {
this.p=p;
}
public void run(){
p.func();
}
@Override
public void update(Observable o, Object arg) {
System.out.println("SUceesssed");
}
}
运行:
public class run {
public static void main(String[] args) {
P p=new P();
Ob o=new Ob(p);
p.addObserver(o);
o.run();
}
}
答案 0 :(得分:3)
在通知观察员之前,您必须致电hasChanged()
public class P extends Observable{
public void func(){
hasChanged();
notifyObservers();
}
}