如何从锚定板获取锚属性来做一些绑定或动画?

时间:2017-02-01 18:15:20

标签: java javafx properties

我试图让anchorpane leftAnchorProperty使用

创建新的KeyValue
aPane.leftAnchorProperty(child);

但它不起作用。请有人帮帮我!

我的代码,

Animation a = new Timeline( new KeyFrame(
Duration.seconds(2), new KeyValue(MyAPane.leftAnchorProperty(child), 10)
));

1 个答案:

答案 0 :(得分:1)

由于该值存储在properties ObservableMap中,因此没有此类属性。 (该值存储在那里,因为只有AnchorPane的子项需要它,但还有其他布局可以添加Node。)

但是在您的情况下,您只需要WritableValue,您可以轻松实现:

WritableValue<Double> writable = new WritableValue<Double>() {

    @Override
    public Double getValue() {
        return AnchorPane.getLeftAnchor(child);
    }

    @Override
    public void setValue(Double value) {
        AnchorPane.setLeftAnchor(child, value);
    }

};

// a starting value for the animation is important, since otherwise interpolation won't work
AnchorPane.setLeftAnchor(child, 0d);

考虑使用translateX属性。这会更简单......