【问题标题】:Building Custom TextArea in JavaFX在 JavaFX 中构建自定义 TextArea
【发布时间】:2013-12-23 04:08:12
【问题描述】:

我想构建一个自定义 TextArea(或一个 Text 对象...)。 以下是我在当前可用节点中发现的限制:

TextArea:提供应用字体样式、选择和“getSelected”文本的功能。但它不允许对子字符串应用不同的样式。将样式应用于整个 TextArea。

HTMLEditor:提供应用不同样式的方法,但不提供获取用户选择的字符串的方法。

TextFlow:允许为字符串编程不同的样式。但它就像一个标签。不是交互式的。

我需要一个文本区域,用户可以在其中键入、选择,我的代码会知道他们选择了什么,以便为他们提供将字体样式应用于所选字符串的选项。所以我猜我需要一个自定义对象。

你同意吗?我该怎么办?

【问题讨论】:

  • 您可能需要使用 WebView 并使用 html 和 css 将样式应用于不同的行。
  • 无法获取用户选择的字符串。我在文档中找不到任何方法。 ://
  • 抱歉,错过了这个要求。也许您可以使用 Table 自定义列或单元格(您可以为哪个单元格或行或单击的任何内容附加一个侦听器),您可以为每个单元格、每行或每列应用样式等。
  • 所以用户将每个单词都放在一个单元格中?
  • 我真的不认为你的问题是可以回答的。但是you can get selected text from a HTMLEditor.

标签: javafx text-editor


【解决方案1】:

您似乎和我们中的许多人一样在等待 Java FX 中的一种 JEditorPane(或 StyledText,对于那些使用 SWT 的人)。

目前,Java FX 中没有此类组件。您可以使用 CodeAreaFX,但性能不是最好的。

如果你想使用 WebView 作为文本编辑器,你可以使用 javascript 获取选定的文本。

【讨论】:

  • 嗨,Jbprod,是的。 CodeArea 是必需的组件。开发人员 Tomas 为其添加了许多很酷的方法,并且他不断更新它。希望我能在不久的将来发布一个用 CodeArea 实现的原型。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
  • 2014-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多