java程序中中更改字体的属性

来源:互联网 发布:詹姆斯全明星数据 编辑:程序博客网 时间:2024/06/10 00:29
public static void setUIFont (javax.swing.plaf.FontUIResource f){
//
// sets the default font for all Swing components.
// ex.
// setUIFont (new javax.swing.plaf.FontUIResource("Serif",Font.ITALIC,12));
//
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);
}
}
这个方法你可以写在任何一个类里。在构造用户界面之前调用一下就行。


Hotown 回复于:2004-09-17 16:47:00

如果我在一个Frame的构造函数里调用该函数能改变该Frame内所有控件的默认字体大小吗?
我试了一下,怎么改变不了啊?


sakulagi 回复于:2004-09-17 20:50:15

可以试一下这个程序:
import java.awt.Font;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.UIManager;import javax.swing.plaf.FontUIResource;public class DefaultFontTest {public static void setUIFont(javax.swing.plaf.FontUIResource f) {//// sets the default font for all Swing components.// ex.//  setUIFont (new// javax.swing.plaf.FontUIResource("Serif",Font.ITALIC,12));//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);}}public static void main(String[] args) {setUIFont(new FontUIResource("Comic Sans MS", Font.BOLD, 20));JFrame jf = new JFrame("DefaultFontTest");JLabel jl = new JLabel("The font of this line should have been changed");jf.getContentPane().add(jl);jf.setSize(500, 100);jf.show();jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}
原创粉丝点击