0

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;

}
4

1 に答える 1

0

ここで何を探しているのか正確にはわかりませんが、独自の DoubleProperty をゼロから実装する代わりに (たとえば、実装にはリスナーの適切な処理が欠けています)、SimpleDoublePropertyをベースとして使用することをお勧めします。

例えば:

public class Bean {
    private DoubleProperty print;
    public DoubleProperty printProperty(){
        if (print == null)
            print = new SimpleDoubleProperty(this, "print");
        return print;
    }
 }

これで、print プロパティにバインドして、独自のリスナーを登録することもできます。

于 2013-01-15T03:06:44.813 に答える