我正在从事Java GUI项目。我在基于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();
}
}
发布于 2012-03-17 21:41:53
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){}
附言:我只是从我的旧项目中复制了这个,我不确定我是从哪里得到的。
发布于 2012-03-17 21:41:34
您可以将此Font
设置为UIManager
,但是对于每种类型的JComponents
,因为它们在UIManager Defaults和here中都有自己的语法
https://stackoverflow.com/questions/9753875
复制