我实现了基于JavaFX的文本编辑器。是否可以以与Intellij中相同的方式显示字体连字?
我在JavaFX API中找到了对连字支持的引用,但我不知道这个"是否证明"那是支持。
答案 0 :(得分:2)
您可以使用Tomas Mikula RichTextFX库。
https://github.com/FXMisc/RichTextFX/
这里有很多选择:
1) InlineCssTextArea
使用
Node#setStyle(String cssStyle)
设置
文本对象的样式的方法InlineCssTextArea
并且对于每个单词或行,您可以使用以下方式设置不同的样式:
InlineCssTextArea.setStyle(from,to,style);
之前我已广泛使用过它,在同一行或多行中包含不同的字体和样式。
2) StyleClassedTextArea
使用Node#setStyleClass(String styleClass)
方法设置Text
个对象的样式。您可以在样式表中定义样式类。
所以,让我们说你application.css
内部已经定义了5种不同的字体类型。其中一个可能是......
.red { -fx-fill: red; }
所以你可以使用:
styleClassedTextArea.setStyleClass(from, to, "red");
这会将[from,to]范围内的文本呈现为红色。
3)有关详情,请查看https://github.com/FXMisc/RichTextFX它有详细说明。
您还可以在网上搜索更多示例。