Изменить тип и размер шрифта для всего JFrame? - PullRequest
1 голос
/ 18 марта 2012

Я работаю над проектом Java GUI.У меня есть несколько компонентов на основе Swing GUI.Я хочу изменить настройки шрифта для всех компонентов, а не менять шрифт для каждого компонента по одному.

Есть ли способ изменить тип и размер шрифта всех компонентов в JPanel на JFrame?.

Редактировать:

Вот так выглядит мой код:

public class Test extends JFrame{
   public Test(){

     //all components are initialized here. (some buttons and text fields) and added to this
      this.setVisible(true);
   }

   public static void main(String []args){
     new Test();
   } 

}

Ответы [ 2 ]

5 голосов
/ 18 марта 2012
public static void setUIFont(javax.swing.plaf.FontUIResource f)
{   
    java.util.Enumeration 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);
    }
}

// ...

try
{
    setUIFont(new javax.swing.plaf.FontUIResource("Tahoma",Font.PLAIN,12));
}
catch(Exception e){}

PS: я только что скопировал это из моего старого проекта, и я не уверен, откуда я его взял.

4 голосов
/ 18 марта 2012

Вы можете установить это Font в UIManager, но для каждого типа JComponents, поскольку каждый из них имеет собственный синтаксис в UIManager по умолчанию и здесь

...