是否可以为 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 和 Swing 制作具有视觉吸引力的 GUI?