Java 更改整个JFrame的字体类型和大小?

Java 更改整个JFrame的字体类型和大小?,java,swing,fonts,jframe,jpanel,Java,Swing,Fonts,Jframe,Jpanel,我正在从事JavaGUI项目。我在基于swing的GUI上有几个组件。我想更改所有组件的字体设置,而不是逐个更改每个组件的字体 有没有办法更改JFrame上JPanel上所有组件的字体类型和大小 编辑: 这就是我的代码的外观: public class Test extends JFrame{ public Test(){ //all components are initialized here. (some buttons and text fields) and adde

我正在从事JavaGUI项目。我在基于swing的GUI上有几个组件。我想更改所有组件的字体设置,而不是逐个更改每个组件的字体

有没有办法更改JFrame上JPanel上所有组件的字体类型和大小

编辑:

这就是我的代码的外观:

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();
   } 

}
您可以将此字体设置为UIManager,但对于每种类型的JComponents,因为它们在和中都有自己的语法,您可以将此字体设置为UIManager,但是对于每种类型的JComponents,因为它们在和中都有自己的语法

PS:我只是从我的老项目中复制了这个,我不确定是从哪里得到的


PS:我刚从我的旧项目中复制了这个,我不确定是从哪里得到的。

抱歉打扰了。我已经用代码更新了我的问题。我不知道如何使用你刚才建议的功能。我尝试将函数放在测试类中,并在测试构造函数中调用它。但是,它什么也没做,它成功了。对不起,我把函数放在所有代码的末尾,就在可见的东西之前。但是,现在当我把它放在顶部时,它就起作用了。谢谢!对不起打扰了。我已经用代码更新了我的问题。我不知道如何使用你刚才建议的功能。我尝试将函数放在测试类中,并在测试构造函数中调用它。但是,它什么也没做,它成功了。对不起,我把函数放在所有代码的末尾,就在可见的东西之前。但是,现在当我把它放在顶部时,它就起作用了。谢谢!
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){}