我需要为我的应用程序设置默认字体。有没有办法做到这不依赖于LaF?
答案 0 :(得分: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);
}
}
}
答案 1 :(得分:3)
更好地控制如何/替换哪些字体 - 以独立于LAF的方式,但可控制的每个laf - 看看JGoodies Looks项目
http://java.net/projects/looks
它允许在运行时交换整个FontSets(这是语义字体的集合,如控件,对话框,消息)。