java - 如何为 JTextArea 设置两种字体,以防其中一种字体不受支持

标签 java fonts

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

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

因此,如果不支持 consolas,请使用无衬线字体。 要在 JTextArea 中设置字体,我使用了:

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

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

提前谢谢您。

最佳答案

看一下:

<小时/>

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;
}

关于java - 如何为 JTextArea 设置两种字体,以防其中一种字体不受支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45815641/

相关文章:

fonts - ImageMagick 转换命令无法读取字体

java - 如果未激活另一个配置文件,则激活 Maven 配置文件

java - 检查 Windows 中是否安装了 Java(或任何应用程序)

css - 确保字体在未经测试的机器上适用于 MathJax

python - 如何使用 pygame.font.Font() 在 pygame 中换行文本?

ios7 - CGContextShowGlyphsAtPoint 弃用

java - 适用于 Android 蓝牙流式传输的缓冲阅读器

java - 所有设备的 Sprite 大小

java - Activity 之间的Android数据检索

css - 如何将 .svg 文件转换为字体?