Установка другого шрифта по умолчанию для JFrame

Я использую внешний вид Nimbus и уже установил такой шрифт по умолчанию.

NimbusLookAndFeel nimbus = new NimbusLookAndFeel();
nimbus.getDefaults().put("defaultFont", myFont);

Это работает отлично. Но у меня есть JFrame с JButton. И я просто хочу использовать другой «defaultFont» для JFrame и всех компонентов JFrame.

Но как я могу это сделать?

Изменить: в моем JFrame я попытался переопределить значение defaultFont, как это.

UIDefaults jDefaults = new UIDefaults();
jDefaults.put("defaultFont", newFont);

this.putClientProperty("Nimbus.Overrides.InheritDefaults", Boolean.TRUE);
this.putClientProperty("Nimbus.Overrides", jDefaults);

//SwingUtilities.updateComponentTreeUI(this); It doesn't work
System.Out.println(getFont()); // writting myFont instead of newFont

person ziLk    schedule 05.08.2015    source источник


Ответы (1)


После установки шрифта вы пробовали это:

           for(Window window : JFrame.getWindows()) {
            SwingUtilities.updateComponentTreeUI(window);
        }
person Jegg    schedule 05.08.2015