問題タブ [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 - 用語: Functional Reactive Programming / RX の「グリッチ」とは何ですか?

関数型リアクティブプログラミングのコンテキストにおける「グリッチ」の定義は何ですか?

一部の FRP フレームワークでは「グリッチ」が発生する可能性があり、他のフレームワークでは発生しないことを私は知っています。たとえば、RX はグリッチ フリーではありませんが、ReactFX はグリッチ フリーです [ 1 ]。

RX を使用しているときにグリッチがいつどのように発生するかを示す非常に簡単な例を誰かが示して、対応する ReactFX ソリューションがグリッチフリーである方法と理由を同じ例で示すことができますか?

読んでくれてありがとう。

0 投票する
1 に答える
308 参照

java - 複数の EventStream をリッスンする ReactFX コンシューマ

この質問はおそらくReactFXの作成者を対象としていますが、他の人も大歓迎です。

現在、 JavaFXアプリケーション内でのデータ共有とイベント処理にReactFXを使用し始めています。私の質問は、クラスが 2 つ (またはそれ以上) の異なるイベントをリッスンするようにサブスクライブする方法です。に で更新される可能性のあるがあると仮定すると、このクラスは を実装します。しかし、これを(たとえば)まったく異なるソースからので更新することもできます。そのため、を実装する必要があります。EventStreamsController classtextfieldnew text(String)Consumer<String>textfieldnew IntegerConsumer<Integer>Consumer<String>

Enumid フィールド (たとえば、) とデータを含むバンドル クラスを作成することを考えました。Object field名前を付けましょうReactFXEventBundle。として使用できるのは、このクラスのインスタンスのみです。Eventsコンシューマーは、id フィールドを分析してイベントのタイプを識別できます。したがって、すべての Consumer クラスは を実装しConsumer<ReactFXEventBundle>ます。これは正しいアプローチでしょうか?

0 投票する
0 に答える
78 参照

reactfx - ReactFx を使用して Text オブジェクトをアニメーション化する

背景色を変更したり、ReactFx を使用して一定時間後にフェード トランジションを追加したりするなど、テキストをアニメーション化する方法があるかどうかを調べたいと思います。簡単な例をいただければ幸いです。ありがとう。

0 投票する
1 に答える
531 参照

reactive-programming - ReactFX と Sodium の比較

ナトリウムについてのこのは、FRP の優れた入門書です。

Sodium に関する本は理解しやすいため、2 つのライブラリ (Sodium と ReactFX) を比較することで、人々は本から学んだことを活用し、その知識を使用して ReactFX に GUI を実装できると期待しています。

これが、この質問を投稿する動機です。

そこで、この目標を達成するのに役立つ 11 の質問をします。

次の 11 のナトリウムの概念に対応する ReactFX の概念は何ですか?

1細胞/行動

2 ストリーム/イベント

3 フィルター

4 マージ

5合体

6 スイッチ

7 決して

8ホールド

9 スナップショット

10 マップ

11リフト

編集:

12 CellLoop/スナップショット ホールド ループ

0 投票する
1 に答える
350 参照

java - ReactFX - CTRL-C キーの組み合わせイベントのストリームを作成するにはどうすればよいですか?

私は ReactFX を初めて使用し、典型的なコピー操作で押されている CTRL キーと C キーをキャプチャしようとしています。

これを効果的にストリームに取り込むにはどうすればよいですか? これは私がこれまでに得たすべてですが、コンパイルさえしていません...

0 投票する
2 に答える
833 参照

java - Observable を ObservableValue/Binding/EventStream に変換する最も効果的な方法は?

私は RxJava と ReactFX をより頻繁に使用する予定ですが、ReactFX には RxJava 依存関係がないため、2 つを調整する方法を理解しようとしています。これは特に、ボイラープレートをあまり使わずに JavaFX ObservableValue、RxJava Observable、および ReactFXをブリッジする場合に当てはまりStreamEventます。

RxJava は常に JavaFX アプリケーションをサポートするとは限らないため、コア ビジネス ロジックを RxJava で構成したいと考えています。しかし、JavaFX UIReactFXEventStream. EventStreamだから私の質問は、を にObservable、そしてObservableEventStreamBinding、またはに変える最も効果的な方法は何ObservableValueですか? 全面的に RxJava を使用できることはわかっていますが、ReactFX のプラットフォーム スレッドの安全性と利便性を活用したいと考えています...

0 投票する
1 に答える
207 参照

javafx - ノードが見えなくなったときに ReactFX を使用してステージのサイズを変更しますか?

複雑なコンテキストに基づいてコンポーネントを表示および非表示にする JavaFX ダッシュボードがあるため、ReactFX はこのための優れたユーティリティです。

EventStream各ノードをループし、 off eachを作成してからvisibleProperty()、操作をサブスクライブしてmanagedProperty()と callを切り替えることで、ネストされたクロージャーをいくつか作成しましたsizeToScene()。私のソリューションは機能しますが、あまりきれいではありません。フラットマップか何かを使用する必要があるように感じます。これを実装するためのより純粋に反応的な方法はありますか?

0 投票する
1 に答える
701 参照

javafx - JavaFX および RxJava-TableView が setCellValueFactory() を無限に呼び出している

で問題が発生し、 ReactFXTableViewのリアクティブ バインディングを使用しています。ただし、バインディングの駆動はRxJavaに由来します。以下のコードでは、それを に変換するメソッドが見つかります。setCellValueFactoryEventStream ObservableEventStream

ただし、TableView列の初期バインディング値以外は何も表示されません。ボディに a を追加すると、 が無限ループで呼び出され、発行された値がバインディングに到達しないことがわかりSystem.out.printlnました。setCellValueFactory()setCellValueFactory()

これには本当に困惑しています。この動作を停止し、Observable が単一の値を EventStream に、次に Binding に正常に発行するにはどうすればよいですか?

これが私のSSCCEです。

アップデート

以下で提案したソリューションに問題があると思います。Observableプラットフォーム スレッド以外の他のスレッドで発行された場合、値はプロパティに取り込まれません。

プラットフォーム スレッドに配置する前に、スレッド呼び出しがプラットフォーム スレッドであるかどうかを確認することで、これを修正しようとしましたrxToPropertyが、これは機能せず、無限ループが再び発生しました。Property のスレッドセーフが脱線しているかどうかはわかりません。

しかし、Observable を複数のスレッドで発行して安全にデータを入力するにはどうすればよいPropertyでしょうか? これは、この動作を表示する更新された SSCCE です。「X」列はマルチスレッドであるためデータが取り込まれませんが、「Y」列はプラットフォーム スレッド上にあるためデータが取り込まれます。