在用swing做页面的时候,往往需要设置字体样式,那么,如何用一种方法设置字体之后,在后面的其他页面就不需要再次设置字体了呢?
下面这个方法就可以解决了:
/**
* 统一设置字体,父界面设置之后,所有由父界面进入的子界面都不需要再次设置字体
*/
private static void InitGlobalFont(Font font) {
FontUIResource fontRes = new FontUIResource(font);
for (Enumeration<Object> keys = UIManager.getDefaults().keys();
keys.hasMoreElements(); ) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof FontUIResource) {
UIManager.put(key, fontRes);
}
}
}
在main方法中,初始化窗口时,加入下面这句:
InitGlobalFont(new Font("alias", Font.PLAIN, 12)); //统一设置字体
就可以了。
注意:InitGlobalFont 这个方法的调用时在swing界面的入口界面里。