gpt4 book ai didi

java - 如何通过订阅事件流来获取属性的来源?

转载 作者:行者123 更新时间:2023-12-02 12:21:36 24 4
gpt4 key购买 nike

如果我有一个 JavaFX 属性并且我从该属性创建一个事件流:

EventStreams.nonNullValuesOf(node.boundsInParentProperty())

是否可以在创建时设置源(在本例中为“节点”)或稍后在订阅中获取该对象?

例如:

EventStream<...> stream = EventStreams.nonNullValuesOf(node.boundsInParentProperty());

...
stream.subscribe((node, bounds) -> ...);

或在创建时:

EventStream<...> stream = EventStreams.valueAndSource(node.boundsInParentProperty(), node);

最佳答案

好的,我得到了我想要的:

EventStreams.nonNullValuesOf(node.boundsInParentProperty()).map(bounds -> ...)

我的问题是我有一个包含 N 个节点对象的列表,这些对象在迭代时可访问。解决了我的问题,例如:

EventStream<Tuple2<Node, Bounds>> eventStream = nodes.stream().
map(node -> EventStreams.nonNullValuesOf(node.boundsInParentProperty()).map(bounds -> Tuples.t(node, bounds))).
reduce((es, esAccu) -> EventStreams.merge(es, esAccu)).
orElse(EventStreams.never());

关于java - 如何通过订阅事件流来获取属性的来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45741181/

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