JavaFX 8中文本区域内的多种颜色

8

我在JavaFX中找不到太多的文档。

我很想知道如何做到以下操作:

当我在文本区域中输入一个单词,例如“谷歌”或“Facebook”。我能否像将谷歌的颜色更改为绿色一样,更改字体等内容。

我很想知道如何实现这个功能 :)

1个回答

16

不支持TextArea中的多颜色文本。您可以尝试Tomas Mikula的RichTextFX控件,看看是否适用。

  

RichTextFX为JavaFX提供了一个文本区域,具有样式化文本范围的API。它旨在成为富文本编辑器和带有语法突出显示的代码编辑器的基础。

其他选择包括:

  1. 使用HTMLEditor
  2. 嵌入许多基于HTML的文本编辑器之一(例如CKEditor)。
  3. 采用markdown风格编辑器,用户只需在标准文本区域中编辑纯标记文本,并在另一个窗格中显示样式化文本(类似于StackOverflow的工作方式)。

回答其他评论

  

我找到了一个地方,告诉我我可以使用TextFlow。所以我会尝试这个。

TextFlow是只读控件,不像TextArea一样可编辑。使用仅使用核心JavaFX 8组件从头开始创建功能丰富的可样式化文本编辑器是一个庞大而复杂的任务,我不建议大多数人进行尝试。相反,使用或贡献现有的JavaFX编辑器解决方案(如RichTextFX或其他类似项目)可能会产生更好的结果和更具生产力的成果。


我找到了一个地方,那里告诉我可以使用TextFlow。所以我会尝试一下,我已经看到了一些很好的例子。 - ZinXanCraft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接