我正在尝试将我的print方法绑定到xProperty()(print().bind(scene.xProperty());)
。它运行一次,但是当调用xProperty时,我的方法不再被调用。如何让它多次拨打电话。
public DoubleProperty print(){
System.out.println("print");
DoubleProperty dp = new DoubleProperty(){
public void removeListener(ChangeListener cl){}
public void removeListener(InvalidationListener cl){}
public void addListener(ChangeListener cl){}
public void addListener(InvalidationListener cl){}
public double get(){return 10;}
public String getName(){return "";}
public Object getBean(){return new Object();}
public boolean isBound(){return true;}
public void unbind(){}
public void bind(ObservableValue observable){}
public void set(double d){}
};
return dp;
}
答案 0 :(得分:0)
我不确定你到底在找什么,但不是从头开始实现你自己的DoubleProperty(例如,你的实现缺少对听众的正确处理)我建议使用SimpleDoubleProperty作为基
例如:
public class Bean {
private DoubleProperty print;
public DoubleProperty printProperty(){
if (print == null)
print = new SimpleDoubleProperty(this, "print");
return print;
}
}
现在,您可以绑定到print属性并在其上注册您自己的侦听器。