2017-08-17 3 views
0

イベントストリームに登録してプロパティのソースを取得するにはどうすればよいですか?私はJavaFXのプロパティを持っていると私は、このプロパティからのイベントストリームを作成する場合

EventStreams.nonNullValuesOf(node.boundsInParentProperty()) 

は、作成時に(この場合は「ノード」)ソースを設定するか、このオブジェクトを取得する可能性があります後でサブスクリプションで?例えば

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

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

または作成時:

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

答えて

1

OK、私は私が欲しいものだ:

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()); 
関連する問題

 関連する問題