只对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);
*/
运行:
来源:oschina
链接:https://my.oschina.net/u/2245781/blog/4326714