问题标签 [reactfx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2589 浏览

system.reactive - 术语:函数响应式编程/RX 中的“故障”是什么?

在函数响应式编程的上下文中,“故障”的定义是什么?

我知道在某些 FRP 框架中可能会出现“故障”,而在其他框架中则不会。例如,RX 不是无故障的,而 ReactFX 是无故障的 [ 1 ]。

有人可以举一个非常简单的例子来说明使用 RX 时故障是如何以及何时发生的,并在同一个例子中展示相应的 ReactFX 解决方案如何以及为什么没有故障。

谢谢阅读。

0 投票
1 回答
308 浏览

java - ReactFX Consumer 监听多个 EventStream

这个问题可能是针对ReactFX的创建者的,但也欢迎其他人回答。

我目前开始使用ReactFX在JavaFX应用程序中进行数据共享和事件处理。我的问题是一个类如何订阅来监听来自两个(或多个)不同的事件EventStreams。假设在 aController class我有一个textfield可以用 a 更新的new text(String),所以这个类将实现Consumer<String>. 但是您可能还希望使用来自完全不同来源textfield的(例如)更新它,因此它必须实现,只是您不能这样做,因为它已经实现了。new IntegerConsumer<Integer>Consumer<String>

我考虑过创建一个带有 id 字段(Enum例如)和Object field包含数据的 bundle 类,我们来命名它ReactFXEventBundle。只有此类的实例才能用作Events,其中消费者可以通过分析 id 字段来识别 Event 的类型。因此,所有 Consumer 类都将实现Consumer<ReactFXEventBundle>. 这是正确的方法吗?

0 投票
0 回答
78 浏览

reactfx - 使用 ReactFx 动画文本对象

我想知道是否有任何方法可以为文本设置动画,例如更改其背景颜色并使用 ReactFx 在一段时间后添加一些淡入淡出过渡。一个简单的例子将不胜感激。谢谢。

0 投票
1 回答
531 浏览

reactive-programming - ReactFX 与钠的比较

关于的书是对 FRP 的良好而清晰的介绍。

我希望 - 因为关于 Sodium 的书很容易理解 - 通过比较两个库(Sodium 和 ReactFX),人们可以利用他们从书中学到的知识并使用这些知识在 ReactFX 中实现 GUI。

这是发布此问题的动机。

因此,我提出了 11 个有助于实现这一目标的问题:

ReactFX 中与以下 11 个 Sodium 概念对应的概念是什么?

1 细胞/行为

2 流/事件

3 过滤器

4 合并

5 合并

6 开关

7 从不

8 保持

9 快照

10 地图

11 电梯

编辑:

12 CellLoop/快照保持循环

0 投票
1 回答
274 浏览

javafx - 将动态创建的对象更改的 EventStream 添加到 UndoManager

使用UndoFX 库,我创建了一个 UndoManger,如下所示:

文档返回的ReactFX EventStream是通过合并多个在文档创建时可用的 EventStream 来创建的。例如,

但是,文档稍后会添加项目,这些项目包括也应该发布到文档 EventStream 的 EventStream。我试过了

但是,newObjectChangesEventStream 中的更改从未影响 UndoManager。

在创建 UndoManger 之后,将其他 EventStreams 合并到 UndoManger 中的最佳方法是什么?或者这是不可能的(即流必须是不可变的)?

如果是后者,如何为 UndoManager 创建时不存在的动态数量的对象创建流?

0 投票
1 回答
350 浏览

java - ReactFX-如何为 CTRL-C 组合键事件创建流?

我是 ReactFX 的新手,我正在尝试捕获为典型的复制操作而按下的 CTRL 和 C 键。

如何有效地将其捕获到流中?到目前为止,这就是我所能得到的,但它甚至没有编译......

0 投票
1 回答
916 浏览

java - JavaFX ObservableList 或 ReactFX LiveList 的实时映射

我编写了上面的 JavaFX 实用方法,它创建了一个实时映射,并ObservableList在源列表更改时更新映射。后来我发现了ReactFX和它的等价物LiveList.map

不想重新发明轮子,我现在正在寻找一个 map 函数,它返回一个可观察对象列表并自动监视这些可观察对象。基本上是flatMap一个完整的列表。例如,如果我有这个:

然后我可以这样做:

如果添加或删除按钮,此widths列表会增长和缩小,并且会在按钮的宽度发生变化时更新。

JavaFX 或 ReactFX 中是否存在这样的功能?或者类似的东西?

0 投票
2 回答
833 浏览

java - 将 Observable 转换为 ObservableValue/Binding/EventStream 的最有效方法?

我将更多地使用 RxJava 和 ReactFX,但我想了解的是如何协调两者,因为 ReactFX 没有 RxJava 依赖项,那么两者如何在同一个 monad 中相互交谈?对于没有大量样板ObservableValue的 JavaFX、RxJavaObservable和 ReactFX之间的桥接尤其如此。StreamEvent

我想用 RxJava 编写我的核心业务逻辑,因为它们并不总是支持 JavaFX 应用程序。但我希望 JavaFX UI 能够使用ReactFX和利用EventStream. EventStream所以我的问题是将 an变成 anObservable和 anObservable变成EventStream,Binding或的最有效方法是什么ObservableValue?我知道我可以全面使用 RxJava,但我想利用 ReactFX 的平台线程安全性和便利性......

0 投票
1 回答
207 浏览

javafx - 当节点变得不可见时使用 ReactFX 调整舞台大小?

我有一个 JavaFX 仪表板,可以根据复杂的上下文隐藏和显示组件,因此 ReactFX 是一个很好的实用程序。

我通过遍历每个节点创建了一些嵌套闭包,创建了一个EventStreamoff each visibleProperty(),然后订阅了一个操作来切换managedProperty()和调用sizeToScene()。虽然我的解决方案有效,但感觉不是很干净。我觉得我应该使用平面地图或其他东西。有没有更纯粹的反应方式来实现这一点?

0 投票
1 回答
701 浏览

javafx - JavaFX 和 RxJava- TableView 无限调用 setCellValueFactory()

我在使用ReactFXTableView的反应式绑定时遇到了问题。然而,驱动绑定源自RxJava,在下面的代码中,您将找到一个将其转换为.setCellValueFactoryEventStream ObservableEventStream

但是,TableView除了列的初始绑定值之外,从不显示任何内容。当我将 a 添加System.out.printlnsetCellValueFactory()正文时,我发现它setCellValueFactory()被无限循环调用,并且发出的值从未进入绑定。

我真的对此感到困惑。如何停止这种行为并让 Observable 成功地将单个值发送到 EventStream 和 Binding?

这是我的SSCCE。

更新

我想我在下面提出的解决方案中发现了一个问题。如果Observable在平台线程之外的其他线程上发出任何值,则不会向属性填充任何值。

我试图通过在将线程调用rxToProperty放在平台线程之前检查线程调用是否是平台线程来解决这个问题,但这不起作用并再次导致无限循环。我不知道 Property 的线程安全性是否使事情脱轨。

但是我怎样才能在多个线程上发出一个 Observable 来安全地填充一个Property?这是我更新的 SSCCE 显示此行为。“X”列永远不会填充,因为它是多线程的,但“Y”列会填充,因为它保留在平台线程上。