【问题标题】:How to set two fonts for JTextArea in case one is not supported如果不支持一种字体,如何为 JTextArea 设置两种字体
【发布时间】:2017-08-22 18:58:34
【问题描述】:

在 HTML 和 CSS 中,可以设置多种字体,因为不同的计算机可能不支持所有字体。所以你可以这样做:

/*CSS*/
{
    font-family: consolas, sans-serif, serif;
}

因此,如果不支持 consolas,请使用 sans-serif。 要在我使用的 JTextArea 中设置字体:

textarea.setFont(new Font("Courier New", Font.PLAIN, 14));

有没有办法检查当前计算机是否支持该字体,如果不支持,请切换到另一个?

提前谢谢你。

【问题讨论】:

    标签: java fonts


    【解决方案1】:

    看看:


    java.awt.GraphicsEnvironment.getAvailableFontFamilyNames() java.awt.GraphicsEnvironment.getAllFonts()

    此方法返回可用系统字体的列表,以便您检查您的字体是否受支持


    如果您的字体不受支持,您可以使用

    Font.getDefault()
    

    此方法返回默认系统字体


    这是一个检查您的字体是否受支持的示例函数

    public static boolean isMyFontSupported(String fontname) {
        GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
        for (String installedFont : graphicsEnvironment.getAvailableFontFamilyNames()) {
            if (installedFont.equalsIgnoreCase(fontname)) {
                return true;
            }
        }
        return false;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-05
      • 2013-09-02
      • 2014-09-04
      • 1970-01-01
      • 2016-02-24
      • 2015-10-26
      • 2011-01-27
      • 1970-01-01
      相关资源
      最近更新 更多