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

  • Post author:
  • Post category:java


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

}



版权声明:本文为weixin_36393674原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。