如何一次更改所有组件的字体???

ieo2004 2005-11-21 05:28:11
一个java GUI 程序,上面有若干个组件例如 JButton ,JLabel之类的,期默认的字体表现太差,现在想改变其显示的字体,如果一个一个对所有组件调用setFont()的话,那太麻烦了,有没有什么方法能够一次更改所有组件的字体啊!!!!
...全文
225 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jplayer 2005-11-23
  • 打赏
  • 举报
回复
mark
ieo2004 2005-11-23
  • 打赏
  • 举报
回复
哦,哈哈,多谢了.
yonghar 2005-11-22
  • 打赏
  • 举报
回复
-_!!!
没有JButton.font这个属性,也没有JLabel.font这个属性。
你设置Button.font就可以改变JButton了。


可以运行下下面的代码,看看有那些属性可以设置。
UIDefaults uiDefaults = UIManager.getDefaults();
Enumeration enum = uiDefaults.keys();
while (enum.hasMoreElements()) {
Object key = enum.nextElement();
Object val = uiDefaults.get(key);

//如果是字体对象,则打印
if (val instanceof Font){
System.out.println("[" + key.toString() + "]");
}
}
ieo2004 2005-11-22
  • 打赏
  • 举报
回复
请恕小弟水平太差,我试了如下的测试代码,好像不行啊!
import javax.swing.*;
import java.awt.*;

public class Test2 extends JFrame {

private JButton button = null;
private JLabel label = null;

public Test2() {
super("test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Font font = new Font("新宋体", Font.PLAIN, 14);
UIManager.put("JButton.font", font);
UIManager.put("JLabel.font", font);

button = new JButton("确定");
//button.setFont(font);
label = new JLabel("中文字体在swing上的表现测试");
//label.setFont(font);
System.out.println(button.getFont());
System.out.println(label.getFont());

getContentPane().add(button, BorderLayout.SOUTH);
getContentPane().add(label, BorderLayout.CENTER);

pack();
setVisible(true);
}

public static void main(String args[]) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//UIManager.put("JButton.font", font);
//UIManager.put("JLabel.font", font);
} catch (Exception e) {
}
Test2 test = new Test2();
}
}

button,label上的字体仍然是jdk默认的字体,并没有改为我想要的字体.
还有就是如果一些组件在一个JPanel中如何更改这些组件的字体,用UIManager.put()也不行
myhotsun 2005-11-21
  • 打赏
  • 举报
回复
重载JFrame在构造函数中调用字体设置函数

字体设置函数可以这么写
UIManager.put("Button.font", font);
UIManager.put("TextArea.font", font);
xuanhanxian 2005-11-21
  • 打赏
  • 举报
回复
例如:UIManager.put("Label.font",new Font("宋体",Font.pain,15);
如果使用setFont具体修改将重载通用的设置。
yonghar 2005-11-21
  • 打赏
  • 举报
回复
UIManager.put("Button.font",font);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧