JavaFX 可以使用字体连字吗

kos*_*eat 8 java javafx

我正在实现一个基于 JavaFX 的文本编辑器。是否可以以与 Intellij 中相同的方式显示字体连字?

我在JavaFX API中找到了对连字支持的引用,但我不知道这是否“证明”存在支持。

GOX*_*LUS 4

您可以使用 Tomas Mikula RichTextFX 库。

\n\n

https://github.com/FXMisc/RichTextFX/

\n\n

这里有很多选择:

\n\n

1) InlineCssTextArea\xc2\xa0 使用\xc2\xa0

\n\n
Node#setStyle(String cssStyle)\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xc2\xa0 样式化\xc2\xa0Text\xc2\xa0对象的方法

\n\n
InlineCssTextArea\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于每个单词或行,您可以使用以下命令设置不同的样式:

\n\n
InlineCssTextArea.setStyle(from,to,style);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我之前广泛使用过它,在同一行或多行中使用不同的字体和样式。

\n\n

2) StyleClassedTextArea\xc2\xa0 使用\xc2\xa0Node#setStyleClass(String styleClass)方法来设置Text对象的样式。您可以在样式表中定义样式类。

\n\n

假设您在内部application.css定义了 5 个具有不同字体的不同样式类。其中之一可能是...

\n\n
.red { -fx-fill: red; }\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以你可以使用:

\n\n
styleClassedTextArea.setStyleClass(from, to, "red");\n
Run Code Online (Sandbox Code Playgroud)\n\n

这会将 \xc2\xa0[from, to)\xc2\xa0 范围内的文本呈现为红色。

\n\n

3)更多信息请查看https://github.com/FXMisc/RichTextFX,它有详细的描述。

\n\n

您也可以在网上搜索更多示例。

\n