java修改JFrame默认字体

修改默认字体的方法很简单。首先我们随便写一个按钮出来:

import javax.swing.*;

public class Test{
       static final int WIDTH = 300;
       static final int HEIGHT = 200;
       public static void main(String[] args){
             JFrame jf = new JFrame();
             jf.setVisible(true);
             jf.setSize(WIDTH,HEIGHT);
             jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             JPanel jp = new JPanel();
             jf.setcontentPane(jp);
             JButton jb = new JButton("确定");
             jp.add(jb);
             jf.pack();
       }
}

接着我们可以加上这么一行:

UIManager.put("Button.font", new java.awt.Font("宋体", 0, 12));
开头的import加上:

import javax.swing.UIManager;

这样就可以改字体了。

字体类型和大小可以随便改,只要电脑里有安装就行了。“0”位置代表的是字体风格,一般不做修改。(如斜体、加粗等,要修改的话请自行查阅API……我也不太记得了。。)

不建议使用网上的个性字体,因为这样做出来的软件程序到别的电脑上用会产生字体方面的问题。而且尽量少用生僻字,以免某些字体库里没有收录对应的字形。

自定义的字体可以进行一下封装:(下面的部分摘自网络)

public class FontClass {
	public static void loadIndyFont() {
		UIManager.put("CheckBox.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Tree.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Viewport.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("ProgressBar.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("RadioButtonMenuItem.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("FormattedTextField.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("ToolBar.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("ColorChooser.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("ToggleButton.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Panel.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("TextArea.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Menu.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("RadioButtonMenuItem.acceleratorFont", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Spinner.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Menu.acceleratorFont", new java.awt.Font("宋体", 0, 12));
		UIManager.put("CheckBoxMenuItem.acceleratorFont", new java.awt.Font("宋体", 0, 12));
		UIManager.put("TableHeader.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("TextField.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("OptionPane.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("MenuBar.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Button.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Label.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("PasswordField.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("InternalFrame.titleFont", new java.awt.Font("宋体", 0, 12));
		UIManager.put("OptionPane.buttonFont", new java.awt.Font("宋体", 0, 12));
		UIManager.put("ScrollPane.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("MenuItem.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("ToolTip.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("List.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("OptionPane.messageFont", new java.awt.Font("宋体", 0, 12));
		UIManager.put("EditorPane.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("Table.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("TabbedPane.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("RadioButton.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("CheckBoxMenuItem.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("TextPane.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("PopupMenu.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("TitledBorder.font", new java.awt.Font("宋体", 0, 12));
		UIManager.put("ComboBox.font", new java.awt.Font("宋体", 0, 12));
	}

然后我们只需要在我们想要使用的时候,加上一句:

FontClass.loadIndyFont();

就行了~


  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值