Настройка глобального шрифта для приложения Java

Мне нужно установить шрифт по умолчанию для моего приложения. Есть ли способ сделать это, который не зависит от LaF?

2 ответов


понял это:

звонок с: 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);
        }
    }
}

для лучшего контроля над тем, как / какие шрифты заменить-независимым способом LAF, но контролируемым per-laf-посмотрите на jgoodies Looks project

http://java.net/projects/looks

Он позволяет менять местами все FontSets (это коллекция семантических шрифтов, таких как control, dialog, message) во время выполнения.