0

我想要实现的是“秘密”编辑一些 html 代码,然后再将其粘贴到 HTMLEditor 中。谁能想到在 JavaFX 2 中做这样的事情的方法?

4

1 回答 1

1

通常你可以做的是将 a 添加ChangeListener到正在更改的属性(例如 a TextAreaTextProperty中检查更改侦听器中的新值并将其修改为你想要的东西。这种策略与 a 并不完全相同TransferHandler,但(我认为)在某些地方你会TransferHandler在 Swing 中使用 a 时会起作用。不幸的是,在 a 的情况下HtmlEditor,您将无法使用这样的策略,因为HtmlEditortext 没有实现为可侦听的属性(尽管在未来的 JavaFX 版本中要求将其设为属性:RT-18436)。

查看JavaFX 拖放文档,JavaFX 确实支持TransferMode,它可以在接收到拖动事件时进行查询以执行不同的操作(例如复制、链接或移动数据)。

此外,如果您查看拖放文档中的示例 6,您可以看到可以为节点设置onDragDropped事件处理程序,该处理程序可以拦截并在当时采取DragEvent适当的操作(例如htmlTextHtmlEditor拖动数据的修改版本)。如果您难以覆盖 的默认onDragDropped功能HtmlEditor,那么您可以在 上放置一个事件过滤器HtmlEditor让您可以根据需要捕获、处理和使用相关的拖动事件。

于 2012-04-12T22:14:45.210 回答