问题标签 [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.
system.reactive - 术语:函数响应式编程/RX 中的“故障”是什么?
在函数响应式编程的上下文中,“故障”的定义是什么?
我知道在某些 FRP 框架中可能会出现“故障”,而在其他框架中则不会。例如,RX 不是无故障的,而 ReactFX 是无故障的 [ 1 ]。
有人可以举一个非常简单的例子来说明使用 RX 时故障是如何以及何时发生的,并在同一个例子中展示相应的 ReactFX 解决方案如何以及为什么没有故障。
谢谢阅读。
java - ReactFX Consumer 监听多个 EventStream
这个问题可能是针对ReactFX的创建者的,但也欢迎其他人回答。
我目前开始使用ReactFX在JavaFX应用程序中进行数据共享和事件处理。我的问题是一个类如何订阅来监听来自两个(或多个)不同的事件EventStreams
。假设在 aController class
我有一个textfield
可以用 a 更新的new text(String)
,所以这个类将实现Consumer<String>
. 但是您可能还希望使用来自完全不同来源textfield
的(例如)更新它,因此它必须实现,只是您不能这样做,因为它已经实现了。new Integer
Consumer<Integer>
Consumer<String>
我考虑过创建一个带有 id 字段(Enum
例如)和Object field
包含数据的 bundle 类,我们来命名它ReactFXEventBundle
。只有此类的实例才能用作Events
,其中消费者可以通过分析 id 字段来识别 Event 的类型。因此,所有 Consumer 类都将实现Consumer<ReactFXEventBundle>
. 这是正确的方法吗?
reactfx - 使用 ReactFx 动画文本对象
我想知道是否有任何方法可以为文本设置动画,例如更改其背景颜色并使用 ReactFx 在一段时间后添加一些淡入淡出过渡。一个简单的例子将不胜感激。谢谢。
javafx - 将动态创建的对象更改的 EventStream 添加到 UndoManager
使用UndoFX 库,我创建了一个 UndoManger,如下所示:
文档返回的ReactFX EventStream
是通过合并多个在文档创建时可用的 EventStream 来创建的。例如,
但是,文档稍后会添加项目,这些项目包括也应该发布到文档 EventStream 的 EventStream。我试过了
但是,newObjectChanges
EventStream 中的更改从未影响 UndoManager。
在创建 UndoManger 之后,将其他 EventStreams 合并到 UndoManger 中的最佳方法是什么?或者这是不可能的(即流必须是不可变的)?
如果是后者,如何为 UndoManager 创建时不存在的动态数量的对象创建流?
java - ReactFX-如何为 CTRL-C 组合键事件创建流?
我是 ReactFX 的新手,我正在尝试捕获为典型的复制操作而按下的 CTRL 和 C 键。
如何有效地将其捕获到流中?到目前为止,这就是我所能得到的,但它甚至没有编译......
java - JavaFX ObservableList 或 ReactFX LiveList 的实时映射
我编写了上面的 JavaFX 实用方法,它创建了一个实时映射,并ObservableList
在源列表更改时更新映射。后来我发现了ReactFX和它的等价物LiveList.map
:
不想重新发明轮子,我现在正在寻找一个 map 函数,它返回一个可观察对象列表并自动监视这些可观察对象。基本上是flatMap
一个完整的列表。例如,如果我有这个:
然后我可以这样做:
如果添加或删除按钮,此widths
列表会增长和缩小,并且会在按钮的宽度发生变化时更新。
JavaFX 或 ReactFX 中是否存在这样的功能?或者类似的东西?
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 的平台线程安全性和便利性......
javafx - 当节点变得不可见时使用 ReactFX 调整舞台大小?
我有一个 JavaFX 仪表板,可以根据复杂的上下文隐藏和显示组件,因此 ReactFX 是一个很好的实用程序。
我通过遍历每个节点创建了一些嵌套闭包,创建了一个EventStream
off each visibleProperty()
,然后订阅了一个操作来切换managedProperty()
和调用sizeToScene()
。虽然我的解决方案有效,但感觉不是很干净。我觉得我应该使用平面地图或其他东西。有没有更纯粹的反应方式来实现这一点?
javafx - JavaFX 和 RxJava- TableView 无限调用 setCellValueFactory()
我在使用ReactFXTableView
的反应式绑定时遇到了问题。然而,驱动绑定源自RxJava,在下面的代码中,您将找到一个将其转换为.setCellValueFactory
EventStream
Observable
EventStream
但是,TableView
除了列的初始绑定值之外,从不显示任何内容。当我将 a 添加System.out.println
到setCellValueFactory()
正文时,我发现它setCellValueFactory()
被无限循环调用,并且发出的值从未进入绑定。
我真的对此感到困惑。如何停止这种行为并让 Observable 成功地将单个值发送到 EventStream 和 Binding?
这是我的SSCCE。
更新
我想我在下面提出的解决方案中发现了一个问题。如果Observable
在平台线程之外的其他线程上发出任何值,则不会向属性填充任何值。
我试图通过在将线程调用rxToProperty
放在平台线程之前检查线程调用是否是平台线程来解决这个问题,但这不起作用并再次导致无限循环。我不知道 Property 的线程安全性是否使事情脱轨。
但是我怎样才能在多个线程上发出一个 Observable 来安全地填充一个Property
?这是我更新的 SSCCE 显示此行为。“X”列永远不会填充,因为它是多线程的,但“Y”列会填充,因为它保留在平台线程上。