龙空技术网

Java中如何自定义字体文件(引用外部字体)?

爱摄影的小葵花 104

前言:

而今咱们对“java设置文本框字体”大概比较珍视,朋友们都想要剖析一些“java设置文本框字体”的相关内容。那么小编也在网上收集了一些有关“java设置文本框字体””的相关内容,希望咱们能喜欢,大家一起来学习一下吧!

图源来自网络

有时候我们在程序中,会使用到Java字体,但不是所有的字体系统中都会有,我们就可能会使用外部自定义字体,这样在程序迁移部署中就会少些工作,最近在一个项目中使用到了自定义字体文件,理顺了,记之。

package cy.util;import java.awt.Font;import java.awt.FontFormatException;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream; public class CyFont {	private Font definedFont = null; 		public Font getDefinedFont(int ft,float fs) {		String fontUrl="";		switch (ft) {		case 1:			fontUrl="/opt/hwxk.ttf";//华文行楷			break;		case 2:			fontUrl="/opt/hwkt.ttf";//华文楷体			break;		default:			String fonturllocal="/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc";			if(!new File(fonturllocal).exists()){				fontUrl="/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc";			}else{				fontUrl=fonturllocal;			}			break;		} if (definedFont == null) {  InputStream is = null;  BufferedInputStream bis = null;  try {  is =new FileInputStream(new File(fontUrl)); bis = new BufferedInputStream(is);  definedFont = Font.createFont(Font.TRUETYPE_FONT, is); //设置字体大小,float型 definedFont = definedFont.deriveFont(fs); } catch (FontFormatException e) {  e.printStackTrace();  } catch (IOException e) {  e.printStackTrace();  } finally {  try {  if (null != bis) {  bis.close();  }  if (null != is) {  is.close();  }  } catch (IOException e) {  e.printStackTrace();  } }  }  return definedFont;  } 			public static void main(String[] args) {		// TODO Auto-generated method stub		CyFont cf=new CyFont();		cf.getDefinedFont(1, 50.0);			} }

标签: #java设置文本框字体