java安装字体--在Swing设置中文字体(微软雅黑)

时光怂恿深爱的人放手 提交于 2020-08-04 19:01:13

只对jdk8,新版没有jre的不能用此方法

假设需要的字体已经安装在系统里(/usr/share/fonts/),参考此文

cd /opt/lib/jvm/jdk1.8.0_251/jre/lib/fonts
/opt/lib/jvm/jdk1.8.0_251/jre/lib/fonts$sudo cp /usr/share/fonts/msyh.ttf .
/opt/lib/jvm/jdk1.8.0_251/jre/lib/fonts$sudo cp /usr/share/fonts/simsun.ttf .
/opt/lib/jvm/jdk1.8.0_251/jre/lib/fonts$ sudo mkfontscale
/opt/lib/jvm/jdk1.8.0_251/jre/lib/fonts$ sudo mkfontdir

代码:


import java.awt.Color;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;
public class TestGUI {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
        Font myfont = new Font("雅黑",Font.PLAIN,30);

        JFrame f = new JFrame("My swing");
        UIManager.put("Label.font", myfont);

        f.setSize(400, 300);
        f.setLocation(200, 200);
        f.setLayout(null);
        JLabel l = new JLabel("第一个SWING");
        //文字颜色
        l.setForeground(Color.red);
        l.setBounds(50, 50, 280, 30);

        f.add(l);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        f.setVisible(true);
	}

}
/*
 这段代码在jframe显示前调用,比如main方法开始就调用它:
Font font = new Font("宋体",Font.PLAIN,12);
        UIManager.put("Button.font", font);
        UIManager.put("CheckBox.font", font);
        UIManager.put("CheckBoxMenuItem.acceleratorFont", font);
        UIManager.put("CheckBoxMenuItem.font", font);
        UIManager.put("ColorChooser.font", font);
        UIManager.put("ComboBox.font", font);
        UIManager.put("DesktopIcon.font", font);
        UIManager.put("EditorPane.font", font);
        UIManager.put("FormattedTextField.font", font);
        UIManager.put("InternalFrame.titleFont", font);
        UIManager.put("Label.font", font);
        UIManager.put("List.font", font);
        UIManager.put("Menu.acceleratorFont", font);
        UIManager.put("Menu.font", font);
        UIManager.put("MenuBar.font", font);
        UIManager.put("MenuItem.acceleratorFont", font);
        UIManager.put("MenuItem.font", font);
        UIManager.put("OptionPane.font", font);
        UIManager.put("Panel.font", font);
        UIManager.put("PasswordField.font", font);
        UIManager.put("PopupMenu.font", font);
        UIManager.put("ProgressBar.font", font);
        UIManager.put("RadioButton.font", font);
        UIManager.put("RadioButtonMenuItem.acceleratorFont", font);
        UIManager.put("RadioButtonMenuItem.font", font);
        UIManager.put("ScrollPane.font", font);
        UIManager.put("Spinner.font", font);
        UIManager.put("TabbedPane.font", font);
        UIManager.put("Table.font", font);
        UIManager.put("TableHeader.font", font);
        UIManager.put("TextArea.font", font);
        UIManager.put("TextField.font", font);
        UIManager.put("TextPane.font", font);
        UIManager.put("TitledBorder.font", font);
        UIManager.put("ToggleButton.font", font);
        UIManager.put("ToolBar.font", font);
        UIManager.put("ToolTip.font", font);
        UIManager.put("Tree.font", font);
        UIManager.put("Viewport.font", font);
 */

运行:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!