private static Map fontMap = new HashMap(); //存放字体与ttf的对应Map
private static Map fonterMap = new HashMap(); //存放字体实例
static {
fontMap.put("微软雅黑", "msyh.ttf");
fontMap.put("宋体", "FZBYSK.TTF");
fontMap.put("黑体", "FZHTJW.TTF");
InputStream in = null;
File file = null;
Font font = null;
String path="存放字体文件的目录"
try {
for (String fontName:fontMap.keySet()) {
file = new File(path + fontMap.get(fontName));
in = new FileInputStream(file);
font = Font.createFont(Font.TRUETYPE_FONT, in);
fonterMap.put(fontName, font);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try{
if(null!=in)
in.close();
}catch(Exception e){
}
}
}
/**
* 根据字体名字返回字体实例
* @param fontName 字体名字
* @return Font
*/
public static Font getFontByName(String fontName){
Font font=fonterMap.get(fontName);
//默认返回微软雅黑字体
if(null==font)
return fonterMap.get("微软雅黑");
return font;
}
Java处理中文字体比较弱,字体会比较难看。我们可以通过读取字体文件来得到自己好看的字体。
通过这个方法得到字体 Font.createFont(Font.TRUETYPE_FONT, in);