在测试我的JavaFX 8应用程序的GUI时,我注意到一些标签没有显示消除锯齿的文本.经过一番谷歌搜索和挣扎,我发现了一件非常烦人的事情.抗锯齿仅适用于字体大小超过80像素的标签.下面是一个比较JavaFX和Swing应用程序并应用AA的示例:

示例代码:https://gist.github.com/anonymous/be60bb89181376ff12aa
有没有办法强制所有字体大小的AA?这也发生在你身上吗?我在JavaFX Jira上搜索了一个类似的bug ,但到目前为止还没有人抱怨.也许我应该为此打开一个?
一些可能有用的信息:
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
Windows 8.1 64 bits [Version 6.3.9600]
Run Code Online (Sandbox Code Playgroud) 当我运行我的应用程序时遇到问题,字体看起来非常清晰锐利,但不平滑。我已经尝试过在这个问题和这个问题上给出的解决方案,但它似乎并没有完全解决问题,因为它看起来比你在 Windows 上看到的正常系统字体更模糊。我从这两篇文章中得到的解决方案是设置系统属性(在加载 FXML 之前):
System.setProperty("prism.lcdtext", "false");
Run Code Online (Sandbox Code Playgroud)
这是添加这行代码之前和之后的样子。
正如您所看到的,后图像中的一些字母非常模糊,尽管它比前图像更平滑。
我也尝试在我的CSS中添加这行代码,但它根本没有任何效果:
.text{
-fx-font-smoothing-type: gray;
}
Run Code Online (Sandbox Code Playgroud)
注意:我使用自定义字体并将其添加到我的 css 中:
@font-face {
font-family: 'Exo';
src: url('Exo-Regular.ttf');
}
Run Code Online (Sandbox Code Playgroud)