2011-04-28 62 views

回答

5

想通了:

调用具有:setUIFont (new javax.swing.plaf.FontUIResource(new Font("MS Mincho",Font.PLAIN, 12)));

private static void setUIFont(javax.swing.plaf.FontUIResource f) 
{ 
    java.util.Enumeration<Object> keys = UIManager.getDefaults().keys(); 
    while (keys.hasMoreElements()) 
    { 
     Object key = keys.nextElement(); 
     Object value = UIManager.get(key); 
     if (value instanceof javax.swing.plaf.FontUIResource) 
     { 
      UIManager.put(key, f); 
     } 
    } 
} 
+0

嗯..多么奇怪的要求:你确定要为_everything_使用完全相同的字体吗?标签,textComponents,标题,边界,什么?用户可能会感到困惑。 – kleopatra 2011-04-29 10:48:23

+1

是的,我需要它是相同的字体。原因是我需要它是我们用来支持特殊字符的自定义字体。程序中的所有内容都是12点字体,所以大小和所有这些都不成问题。 – user489041 2011-04-29 13:56:24

3

有关哪种字体如何/更换更好的控制 - 在LAF独立的方式,但可控的每LAF - 看看JGoodies Looks项目

http://java.net/projects/looks

它允许在运行时交换整个FontSet(这是一组语义字体,如控制,对话框,消息)。

+0

真棒,生病必须检查到这一点 – user489041 2011-04-29 13:56:55

相关问题