如果不支持,则如何为JTextArea设置两种字体

时间:2017-08-22 10:51:31

标签: java fonts

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

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

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

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

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

提前谢谢。

1 个答案:

答案 0 :(得分:1)

看看:

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

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

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

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

此方法返回默认系统字体

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

$data = DB::table('consultants')
 ->leftJoin('ratings','consultants.id','=','ratings.consultant_id')
->groupBy('consultant.id')->get();