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
可以试一下这个程序:
//
// 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); }