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安全错误
数据库的锁怎样保障安全
网络安全主题班会内容图片
体验服无法进入服务器
计算机网络技术什么大类
数据库怎样计算功能点
网络安全网信工作的通知
杭州软度网络技术有限公司
服务器采购公告
iis 服务器安全设置
个人 企业信用信息数据库
vs在数据库上这程序
苏州美橙互联云服务器
数据库值随时间变换
国泰安数据库市场收益率在哪里找
全世界根域名服务器分布
白玉县网络安全宣传周
彻底删除数据库软件
图书管理系统 数据库
华勤应用软件开发
后端开发转工业软件开发
服务器暴力破解方法
苏州科技大学网络安全专业
庆元淘客app软件开发
怎么在服务器查询通话录音
网络安全高级工程师证书有用
怎样拆分文本数据库
google地球无法连接到数据库
网络安全模式如何进入系统
电气及系统软件开发公司
冬奥会期间网络安全报告
服务器怎么获取u盘内容