another way:
Font f = new Font(UIResource.getString("Default_font"),Font.PLAIN,12);
UIManager.put("Label.font",f);
UIManager.put("Label.foreground",Color.black);
UIManager.put("Button.font",f);
UIManager.put("Menu.font",f);
UIManager.put("MenuItem.font",f);
UIManager.put("List.font",f);
UIManager.put("CheckBox.font",f);
UIManager.put("RadioButton.font",f);
UIManager.put("ComboBox.font",f);
UIManager.put("TextArea.font",f);
reference
Font f = new Font(UIResource.getString("Default_font"),Font.PLAIN,12);
UIManager.put("Label.font",f);
UIManager.put("Label.foreground",Color.black);
UIManager.put("Button.font",f);
UIManager.put("Menu.font",f);
UIManager.put("MenuItem.font",f);
UIManager.put("List.font",f);
UIManager.put("CheckBox.font",f);
UIManager.put("RadioButton.font",f);
UIManager.put("ComboBox.font",f);
UIManager.put("TextArea.font",f);
reference
后来我把swing组件的字体改为宋体,就好了
java -Dswing.useSystemFontSettings=false tst.java
java -Dswing.useSystemFontSettings=false tst (class文件)
或者在程序中将包含中文的字符串转换为你的系统默认的编码标准
下载新版本的jdk for all languages, including English
安装就行了