Java 如何在不支持一种字体的情况下为JTextArea设置两种字体

Java 如何在不支持一种字体的情况下为JTextArea设置两种字体,java,fonts,Java,Fonts,在HTML和CSS中,可以设置多种字体,因为不同的计算机可能不支持所有字体。因此,您可以执行以下操作: /*CSS*/ { font-family: consolas, sans-serif, serif; } 因此,如果控制台不受支持,请使用无衬线。 要在我使用的JTextArea中设置字体,请执行以下操作: textarea.setFont(new Font("Courier New", Font.PLAIN, 14)); 是否有办法检查当前计算机是否支持该字体,如果不支持,请切

在HTML和CSS中,可以设置多种字体,因为不同的计算机可能不支持所有字体。因此,您可以执行以下操作:

/*CSS*/
{
    font-family: consolas, sans-serif, serif;
}
因此,如果控制台不受支持,请使用无衬线。 要在我使用的JTextArea中设置字体,请执行以下操作:

textarea.setFont(new Font("Courier New", Font.PLAIN, 14));
是否有办法检查当前计算机是否支持该字体,如果不支持,请切换到另一种字体

提前感谢。

请看:


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

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

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

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