swing全局设置默认字体

说明

可以全局设置默认字体,不需要一个控件一个控件的设置

详见 链接

关键代码

import javax.swing.*;
import javax.swing.plaf.FontUIResource;
import java.awt.*;
import java.util.Enumeration;
private static void initGlobalFont(Font font) {
    FontUIResource fontRes = new FontUIResource(font);
    for (Enumeration<Object> keys = UIManager.getDefaults().keys(); keys.hasMoreElements(); ) {
        Object key = keys.nextElement();
        Object value = UIManager.get(key);
        if (value instanceof FontUIResource) {
            UIManager.put(key, fontRes);
        }
    }
}

使用

在 main() 方法的第一行调用,否则无效果

public static void main(String[] args) {

    initGlobalFont(new Font("宋体", Font.PLAIN, 14));
    Producer dialog = new Producer();
//        dialog.pack();
    dialog.setVisible(true);
    dialog.setSize(800,600);
//        System.exit(0);
}