【问题标题】:How to make text in swing more clear如何让swing中的文字更清晰
【发布时间】: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 来展示你使用不同字体的问题,看看它们是否一致,或者一个肯定比另一个差。

标签: java swing graphics fonts


【解决方案1】:

我想这是我的jdk的问题。我把它改成jdk 11后,效果很好。 (这是我在 jdk 11 中的字体) jdk11's "File"

【讨论】:

    猜你喜欢
    • 2020-06-22
    • 2015-05-28
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 2012-08-22
    • 2016-09-03
    • 2015-09-14
    相关资源
    最近更新 更多