私が達成しようとしているのは、HTMLEditor に貼り付ける前に、HTML コードを「密かに」編集することです。JavaFX 2 でこのようなことを行う方法を考えられる人はいますか?
1 に答える
通常できることは、ChangeListener
変更中のプロパティ (たとえば aTextArea
のTextProperty
) に a を追加し、変更リスナーの新しい値を調べて、必要なものに変更することです。この戦略は a とまったく同じではありませんが、(私が思うに) Swing でTransferHandler
a を使用したいくつかの場所では機能します。TransferHandler
残念ながら、 の場合、テキストはリッスン可能なプロパティとして実装されていないHtmlEditor
ため、そのような戦略を使用することはできませHtmlEditor
ん (ただし、将来の JavaFX リリースでそれをプロパティにする要求があります: RT-18436 )。
JavaFX ドラッグ アンド ドロップのドキュメントを見ると、 JavaFXは、ドラッグ イベントの受信時に照会してさまざまなアクション (データのコピー、リンク、移動など) を実行できるTransferModeをサポートしています。
また、ドラッグ アンド ドロップのドキュメントの例 6 を見ると、ノードにonDragDroppedイベント ハンドラを設定して、 をインターセプトし、DragEvent
その時点で適切なアクションを実行できることがわかります ( の を に設定するなどhtmlText
) HtmlEditor
。ドラッグされたデータの変更されたバージョン)。onDragDropped
のデフォルト機能をオーバーライドするのが難しい場合はHtmlEditor
、イベント フィルタを に配置して、HtmlEditor
必要に応じて関連するドラッグ イベントをキャッチ、処理、および消費することができます。