如何为JavaFX TextField文本启用反走样?

4
我有一个 TextField 和一个 Text 对象,它们都使用完全相同的字体,但是对于 Text 对象,有一种方法可以用于平滑字体:.setFontSmoothingType()。然而,TextField 没有这样的方法。
正如 Shaw 指出的,Text 对象默认平滑字体,但对于 TextField 并非如此。
不幸的是,这种差异在这个截图中很明显:

enter image description here

顶部是TextField,底部是带有平滑处理的Text。那么我该如何为TextField实现字体平滑处理呢?
非常感谢任何帮助!

嗯,调用 setFontSmoothingType(FontSmoothingType.GRAY) 是否真的有所不同?根据文档显示这是默认值。 - Slaw
@Slaw 你是正确的 :P 我测试了一下,调用方法并没有什么区别。无论如何,TextFields 中的文本仍然与 Text 对象呈现不同的效果。 - Diamond Block
1个回答

3
我终于解决了这个问题!使用Scene Builder的CSS分析器,我找到了一个叫做-fx-font-smoothing-type的属性,在.text-field .text下面。将值改为gray,TextField中的文本将变得平滑!

这里是更新后的截图。


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