java swing如何实现加载自定义的字体
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章主要介绍了java swing如何实现加载自定义的字体,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。java swing 加载
千家信息网最后更新 2024年11月20日java swing如何实现加载自定义的字体
这篇文章主要介绍了java swing如何实现加载自定义的字体,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
java swing 加载自定义的字体
在实际开发中, 我们需要把字体的名字和字体做一一对应的映射关系, 然后需要通过可配置的方式加载自定义的字体. 所以就有了这个需求, 我们来实现。
首先我们定义一个自定义加载子类的工具类
import java.awt.Font;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import java.util.Properties; /** * 字体工具类, 获取需要的字体 */public class FontUtil { /** * 所有字体配置 */ private static MapfontNameMap = new HashMap (); /** * 默认字体的大小 */ private static final float defaultFontSize = 20f; static { //加载配置文件 Properties properties = new Properties(); // 使用properties对象加载输入流, 编码使用GBK try { properties.load(new InputStreamReader(FontUtil.class.getClassLoader().getResourceAsStream("font.properties"), "GBK")); } catch (IOException e) { System.err.println("font.properties 配置文件不存在"); } //获取key对应的value值 for (Map.Entry
第二部再就是写测试代码:
import java.awt.*; public class Demo { public static void main(String[] args) throws Exception { Font a = FontUtil.getConfigFont("A"); System.out.println(a.getName() + "~" + a.getSize()); Font b = FontUtil.getConfigFont("B", 100); System.out.println(b.getName() + "~" + b.getSize()); Font c = FontUtil.getConfigFont("C"); System.out.println(c.getFontName()); Font d = FontUtil.getConfigFont("D"); } }
运行, 第四个字体不存在, 抛出异常 , 其他的都正常处理了, A, B都加载了自己配置的字体.
环境配置, 在resources里面新建一个字体配置文件: font.properties 内容如下:
#字体的配置文件,等号前是字体名字,等号后是字体的路径 A=D:/logs/苹方黑体-准-简.ttf B=D:/logs/苹方黑体-中粗-简.ttf C=宋体 D=宋体22222
本来是帮别人写的代码, 最后不要了, 就直接开源出来了.
Java swing更改全局字体
这段代码在jframe显示前调用,比如main方法开始就调用:
public static void setUIFont(){ Font f = new Font("宋体",Font.PLAIN,18); String names[]={ "Label", "CheckBox", "PopupMenu","MenuItem", "CheckBoxMenuItem", "JRadioButtonMenuItem","ComboBox", "Button", "Tree", "ScrollPane", "TabbedPane", "EditorPane", "TitledBorder", "Menu", "TextArea", "OptionPane", "MenuBar", "ToolBar", "ToggleButton", "ToolTip", "ProgressBar", "TableHeader", "Panel", "List", "ColorChooser", "PasswordField","TextField", "Table", "Label", "Viewport", "RadioButtonMenuItem","RadioButton", "DesktopPane", "InternalFrame" }; for (String item : names) { UIManager.put(item+ ".font",f); }}
感谢你能够认真阅读完这篇文章,希望小编分享的"java swing如何实现加载自定义的字体"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
字体
配置
名字
文件
篇文章
代码
大小
宋体
工具
等号
黑体
一一对应
价值
全局
兴趣
内容
同时
子类
实际
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
公司软件开发管理流程
2021网络安全知识竞赛达人
上海如创网络技术有限公司骗
云浮教育软件开发
路由虚拟服务器安全性
连接数据库显示网络通信异常
服务器架设与维护
眉山云计算中心招聘软件开发吗
数据库不能自动复制
在服务器中安装anaconda
苏宁软件开发工资待遇
数据库创建表的数据类型
辽宁网络时间与服务器时间的区分
数据库软件被安到c盘
威海自习室软件开发
sqlite数据库类型
如何创建一个肿瘤数据库
天津网络技术招聘信息
未发生重大网络安全事件
行业管理软件开发需要多少钱
汇雅电子图书全文数据库检索
wifi已连接但无数据库
数据库的职称是什么
锁控设备软件开发价格
数据库怎么在电脑上编程
gns3模拟服务器
软件开发行业营业执照
在线影院服务器
软件开发率高
4g网络安全吗