热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

设置Swing的全局字体(sunjdk)

Swing技巧.设置全局字体(sunjdk)为什么要这么做?因为java默认的字体显示中文都很难看因为比如jgoodies这样的skin
Swing技巧. 设置全局字体(sun jdk)

为什么要这么做?

   因为java默认的字体显示中文都很难看

   因为比如jgoodies这样的skin默认不支持中文

   因为jdk1.4中文字体mapping有严重bug,用过IDEA的人都知道

   因为大家只有sun的jdk可用,ibm的,bea的都不适合跑client

if you are smart....
//设置全局字体
public static void initGlobalFontSetting(Font fnt){
    FontUIResource fontRes 
= new FontUIResource(fnt);
    
for(Enumeration keys = UIManager.getDefaults().keys(); keys.hasMoreElements();){
        Object key 
= keys.nextElement();
        Object value 
= UIManager.get(key);
        
if(value instanceof FontUIResource)
            UIManager.put(key, fontRes);
    }
}
if you aren't...

Font font = new Font("Dialog",Font.PLAIN,12);
UIManager.put(
"ToolTip.font",font);
UIManager.put(
"Table.font",font);
UIManager.put(
"TableHeader.font",font); 
UIManager.put(
"TextField.font",font); 
UIManager.put(
"ComboBox.font",font); 
UIManager.put(
"TextField.font",font); 
UIManager.put(
"PasswordField.font",font); 
UIManager.put(
"TextArea.font",font); 
UIManager.put(
"TextPane.font",font); 
UIManager.put(
"EditorPane.font",font); 
UIManager.put(
"FormattedTextField.font",font); 
UIManager.put(
"Button.font",font); 
UIManager.put(
"CheckBox.font",font); 
UIManager.put(
"RadioButton.font",font); 
UIManager.put(
"ToggleButton.font",font); 
UIManager.put(
"ProgressBar.font",font); 
UIManager.put(
"DesktopIcon.font",font); 
UIManager.put(
"TitledBorder.font",font); 
UIManager.put(
"Label.font",font); 
UIManager.put(
"List.font",font); 
UIManager.put(
"TabbedPane.font",font); 
UIManager.put(
"MenuBar.font",font); 
UIManager.put(
"Menu.font",font); 
UIManager.put(
"MenuItem.font",font); 
UIManager.put(
"PopupMenu.font",font); 
UIManager.put(
"CheckBoxMenuItem.font",font); 
UIManager.put(
"RadioButtonMenuItem.font",font); 
UIManager.put(
"Spinner.font",font); 
UIManager.put(
"Tree.font",font); 
UIManager.put(
"ToolBar.font",font); 
UIManager.put(
"OptionPane.messageFont",font); 
UIManager.put(
"OptionPane.buttonFont",font); 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=647921
常青发表于 2006年04月02日 14:04:00 言语有些过激,但这个方法不错,解决了困扰我多日的问题!
推荐阅读
  • Flutter 2.* 路由管理详解
    本文详细介绍了 Flutter 2.* 中的路由管理机制,包括路由的基本概念、MaterialPageRoute 的使用、Navigator 的操作方法、路由传值、命名路由及其注册、路由钩子等。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • Delphi XE Rtti单元深入解析:TRttiContext的应用与实践
    Delphi XE Rtti单元深入解析:TRttiContext的应用与实践 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
author-avatar
茨冈人686
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有