小编Cir*_*irF的帖子

JavaFX 中是否可以在创建绑定后修改绑定的依赖关系?

我的问题是在使用 JavaFX 实现某种图形可视化时出现的。有 2 个类,称为VertexEdge,每条边连接 2 个(可能相同)顶点。每个具有自循环的顶点(具有相同开始和结束顶点的边)都存储 αDoubleProperty作为其自循环的首选角度。该角度是根据该顶点及其所有邻居的位置计算的。但是,由于图是动态构建的,顶点的邻居可能会发生变化,从而导致依赖项的动态列表,因此我必须修改DoubleBinding角度所绑定的依赖项。

然而,created bygetDependencies中的方法只返回一个不可变的副本:DoubleBindingBindings.createDoubleBinding

@Override
public ObservableList<?> getDependencies() {
    return  ((dependencies == null) || (dependencies.length == 0))?
                FXCollections.emptyObservableList()
            : (dependencies.length == 1)?
                FXCollections.singletonObservableList(dependencies[0])
            : new ImmutableObservableList<Observable>(dependencies);
}
Run Code Online (Sandbox Code Playgroud)

尽管该类DoubleBinding有一个bind似乎满足我的需要的方法,但它是受保护的:

protected final void bind(Observable... dependencies) {
    if ((dependencies != null) && (dependencies.length > 0)) {
        if (observer == null) {
            observer = new BindingHelperObserver(this);
        }
        for (final Observable dep : …
Run Code Online (Sandbox Code Playgroud)

java javafx properties

4
推荐指数
1
解决办法
94
查看次数

标签 统计

java ×1

javafx ×1

properties ×1