如何使挥杆中的文字更清晰

时间:2020-08-03 17:51:31

标签: java swing graphics fonts

请问是否有可能使摇摆的文字更清晰?

这是JavaFX中“文件”一词的外观:

JavaFX Text

这是它在Swing中的外观:

Swing Text

JavaFX绝对更好。有什么方法可以使Swing中的字体看起来像JavaFX中的字体吗?

P.S。他们俩都使用12px的字体“ Microsoft YaHei”


我找到了一种打开/关闭类似抗锯齿的方法

@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

1 个答案:

答案 0 :(得分:0)

我想这是我的jdk问题。将其更改为jdk 11后,它运行良好。 (这是我在jdk 11中的字体) jdk11's "File"