【发布时间】:2020-11-23 19:39:43
【问题描述】:
请问是否可以让swing中的文字更清晰?
“文件”一词在 JavaFX 中的外观如下:
下面是它在 Swing 中的样子:
JavaFX 绝对更好。有什么办法可以让 Swing 中的字体看起来像 JavaFX 中的字体?
附:他们都使用了12px的“微软雅黑”字体
我找到了一种打开/关闭抗锯齿的方法
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_OFF);
g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL,RenderingHints.VALUE_STROKE_DEFAULT);
g2d.setFont(new Font("Times New Roman", Font.PLAIN, 18));
g2d.drawString("File", 50, 50);
}
但是好像效果不好
这些是我测试不同字体的结果:
新罗马时代
摇摆
"File" in times new roman
JavaFX
"File" in times new roman
【问题讨论】:
-
我会尝试打开/关闭抗锯齿。如果这没有帮助,您可以从 javaFX 中的版本创建一个图像,并将其用于 swing 中的按钮
-
我从未注意到在 Swing 中显示文本的问题。是字体的问题吗?我从未听说过您正在测试的字体。发布一个正确的minimal reproducible example 来展示你使用不同字体的问题,看看它们是否一致,或者一个肯定比另一个差。