java swing如何实现加载自定义的字体
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了java swing如何实现加载自定义的字体,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。java swing 加载
千家信息网最后更新 2026年11月01日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 Map fontNameMap = 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安全错误
数据库的锁怎样保障安全
云南咖啡
上海喔噻互联网科技有限公司
互联网科技活动banner
互联网科技公司税收优惠
没上市的科技互联网公司
广州互联网科技公司
北京互联网科技公司
上海挚品互联网科技
苏州互联网科技贷款公司
深圳艾佳互联网科技
大白互联网科技
深圳互联网科技怎么样
山东吉时兔互联网科技有限公司
汉立互联网科技有限公司联系电话
新兴科技互联网创新大赛颁奖典礼
畅思互联网科技
西安小鹰速贷互联网科技有限公司
唯美互联网科技
互联网金融运营模式中的金融科技
武汉亿视互联网科技有限公司
科技互联网产品
易通互联网络科技有限公司
佳云科技和互联网广告
互联网公司黑科技创始人
互联网时代的科技公司
众安科技工业互联网合作
下一代互联网重大应用科技园
互联网科技接地气
互联网科技手抄报图片
互联网 科技节活动 微视频大赛