首页 > 编程语言 >Java使用Font字体的方法

Java使用Font字体的方法

时间:2023-05-12 11:34:02浏览次数:34  
标签:Font Java Han Source 字体 font

Java使用Font字体有两种方式:
1.直接使用系统已经安装的字体。

Font font = new Font("Source Han Serif SC", Font.PLAIN, 18);

 

2.使用流读取外部字体资源,然后创建字体。

InputStream fontInputStream = ResourceUtil.getStream("font/Source Han Serif SC.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, fontInputStream);

使用流读取外部字体创建字体会有一个问题:
    每一次读取流创建字体,Java都会在tmp目录下创建一个字体临时文件+~JF.tmp,
    当使用多了,tmp目录下的字体临时文件会越来越多,占用磁盘内存,

解决办法有两个:
    1.重启Java应用,当重启应用后,+~JF.tmp文件会被清理。
    2.注册字体:
        1.每当Java应用启动时,读取一次外部字体资源,然后把字体注册:
        2.字体注册后,每当需要使用字体时,直接使用:
            Font font = new Font("Source Han Serif SC", Font.PLAIN, 18);

        参考代码:

@Component
public class FontRegisterRunner implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        // 读取外部字体资源,然后创建字体
        Font font = Font.createFont(Font.TRUETYPE_FONT, ResourceUtil.getStream("font/Source Han Serif SC.ttf"));

        // 注册字体
        GraphicsEnvironment genv = GraphicsEnvironment.getLocalGraphicsEnvironment();
        genv.registerFont(font);

        // 当在其它代码里需要使用字体时,直接使用:
        // Font font = new Font("Source Han Serif SC", fontStyle, size);
    }
}

 

标签:Font,Java,Han,Source,字体,font
From: https://www.cnblogs.com/20170719log/p/17393570.html

相关文章

  • 客户端javascript对象的几何属性(获得大小及坐标)
    在一些客户端javascript对象中,存在着如宽度、高度、坐标类的几何属性,同时这些属性在不同的浏览器下又有不同的属性名。现在将所有的此类对象的几何属性汇总,便于学习,免得搞混。1.浏览器窗口在桌面的坐标(x,y)Window      IE下:window.screenLeft,window.screenTo......
  • java爬虫如何使用代理
    在Java程序中使用代理是爬取网站数据的常见技术之一。代理服务器允许你通过它来访问某个网站,从而让你可以隐藏自己的真实IP地址或者规避一些地理限制等问题。本文章将介绍如何使用Java实现网络爬虫代理。我们首先将介绍Java提供的代理相关类和方法,然后是如何编写代码实现代理网络......
  • java:常用工具类库
    最近一直在减少造轮子的做法,简单总结了一下各个工具类库:排名不分先后,链接的地址为自己找了几个比较合适的例子,供参考。 1、ApacheCommonApacheCommons是对JDK的拓展,包含了很多开源的工具,用于解决经常会遇到的问题,减少重复工作。 2、GoogleGuava Guava工程包含了若干......
  • Java设计模式-适配器模式
    适配器模式(AdapterPattern)是一种常见的设计模式,它主要用于在不改变现有系统结构的情况下,将一个类的接口转换成客户端所期望的另一个接口。在本文中,我们将介绍适配器模式的基本概念、实现方法以及优缺点,并探讨适配器模式在Java编程语言中的具体应用。简介适配器模式是一种结构型......
  • Javascript基础(三)
    ⭐WebAPIsWebAPIs和JS基础关联性JS的组成API和WebAPIAPI(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。WebAPI是......
  • Javascript基础(一)
    ⭐初识JavascriptJavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思)脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行「Javascript的作用」表单动态校验(密码强度检测)(JS产生最初的目的)网页特效服务端开发......
  • Javascript基础(二)
    ⭐数组数组的概念数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。创建数组1.利用new创建数组var数组名=newArray();vararr=newArray();//创建一个新的空数组2.利用......
  • 一文让你搞懂javascript如何实现继承
    一、本文想给你聊的东西包含一下几个方面:(仅限于es6之前的语法哈,因为es6里面class这关键字用上了。。)1.原型是啥?原型链是啥?2.继承的通用概念。3.Javascript实现继承的方式有哪些? 二、原型是啥?原型链是啥?1.原型是函数本身的prototype属性。首先js和java不一样,js顶多算是一个......
  • JavaFx 关键字高亮文本实现
    原文地址:JavaFx关键字高亮文本实现-Stars-One的杂货小窝整蓝奏云批量下载器里的搜索功能想到的一个关键字高亮功能,借助textflow组件来实现,记录一下本文基于TornadoFx框架进行编写,封装工具代码是kotlin版本然后也是顺便把这个封装成了stars-one/common-controls里的xHig......
  • java基于springboot+html的学生就业管理系统的设计与实现,附源码+数据库+文档,包安装调
    1、项目介绍本系统是利用现代化的计算机网络技术将传统信息宣传方式整合,按照实践过程设计完成的。同时完善服务,初步设计一个学生就业管理系统平台以利于相关的事务操作。为了使系统在各项管理中发挥更大的作用,实现计算机信息化高效的管理,现将开发目标功能需求介绍如下:(1)管理员模......