<dependencies> <dependency> <groupId>org.reactfx</groupId> <artifactId>reactfx</artifactId> <version>1.0-M5</version> </dependency> </dependencies> import javafx.collections.FXCollections; import javafx.collections.ObservableList; import org.reactfx.EventStreams; public class ReactiveCollectionExample { public static void main(String[] args) { ObservableList<Integer> numbers = FXCollections.observableArrayList(); EventStreams.changesOf(numbers) .subscribe(change -> { System.out.println("List changed: " + change.getAddedSubList()); }); numbers.addAll(1, 2, 3, 4, 5); } } EventStreams.changesOf(numbers) .filter(change -> change.getAddedSubList().size() > 2) .subscribe(change -> { System.out.println("List changed: " + change.getAddedSubList()); }); EventStreams.changesOf(numbers) .map(change -> change.getAddedSubList().stream().mapToInt(Integer::intValue).sum()) .subscribe(sum -> { System.out.println("Sum of list elements: " + sum); }); ObservableList<String> names = FXCollections.observableArrayList(); EventStreams.changesOf(numbers) .combine(EventStreams.changesOf(names), (numChange, nameChange) -> "List changed: " + numChange.getAddedSubList() + ", Names changed: " + nameChange.getAddedSubList()) .subscribe(change -> { System.out.println(change); });


上一篇:
下一篇:
切换中文