是否可以为 javafx textField/Area 中的不同行设置不同的颜色?

Posted

技术标签:

【中文标题】是否可以为 javafx textField/Area 中的不同行设置不同的颜色?【英文标题】:Is it possible to set different colors for different lines in a javafx textField/Area? 【发布时间】:2015-07-18 19:37:26 【问题描述】:

我知道您可以通过将节点的样式设置为 -fx-text-fill: red; 来设置整个 textArea/Field 的颜色,但是有没有办法在仍然设置单行而不是所有行的颜色时保持 textArea/Field 可编辑?

【问题讨论】:

【参考方案1】:

JavaFX 的 TextField/TextArea 不支持。您可以使用RichTextFX 来完成这项工作:

import org.fxmisc.richtext.InlineCssTextArea;

InlineCssTextArea area = new InlineCssTextArea();

// set style of line 4
area.setStyle(4, "-fx-fill: red;");

【讨论】:

【参考方案2】:

使用 javaFX 8(2016 年 3 月发布)可以使用 TextFlow 代替 TextArea 或 TextField。它允许不同的颜色、字体等。

https://docs.oracle.com/javase/8/javafx/user-interface-tutorial/text-settings.htm

https://docs.oracle.com/javase/8/javafx/api/javafx/scene/text/TextFlow.html

【讨论】:

非常感谢!我更喜欢 TextFlow,而不是 RichTextFX。

以上是关于是否可以为 javafx textField/Area 中的不同行设置不同的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将多线程JavaFX AudioClip声音的混合结果记录到磁盘上?

是否可以滚动 JavaFX 菜单栏

是否可以使用 JavaFX 和 Swing 制作具有视觉吸引力的 GUI?

JavaFX:如何更改焦点遍历策略?

如何将 SVG 中的 feGaussianBlur 转换为 JavaFX 中的 GaussianBlur 效果?

是否可以在不做任何更改的情况下在 Android 手机中运行 JavaFX 桌面应用程序? [复制]