gpt4 book ai didi

Javafx 将 SetProperty 绑定(bind)到从可观察对象生成集合的回调

转载 作者:行者123 更新时间:2023-12-02 12:11:35 25 4
gpt4 key购买 nike

我有一个SetProperty<Point>和一个产生 Stream<Point> 的函数。

Stream<Point> generatePoints(Point p) {
// ...
}
ObjectProperty<Point> selectedPointProperty() {
// ...
}

SetProperty<Point> generatedPoints = new SimpleSetProperty();

我要绑定(bind)generatedPoints应用generatedPoints的结果结果为selectedPointProperty() 。我尝试了以下代码,但有类型错误。

generatedPoints.bind(Bindings.createObjectBinding(() -> generatePoints(selectedPointProperty().get()).collect(Collectors.toSet()),
selectedPointProperty()));

最佳答案

一个SetProperty<T>不是Property<Set<T>>但是一个Property<ObservableSet<T>> .

因此属性所需的类型和返回的类型

generatePoints(selectedPointProperty().get()).collect(Collectors.toSet())

不匹配。您需要返回ObservableSet来自Callable相反,例如:

generatedPoints.bind(Bindings.createObjectBinding(() -> FXCollections.observableSet(generatePoints(selectedPointProperty().get()).toArray(Point[]::new)),
selectedPointProperty()));

关于Javafx 将 SetProperty 绑定(bind)到从可观察对象生成集合的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46508821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com