jdk1.4在中文字体显示上是差强人意, 其实他使用了更优雅的解决方案(和window桌面字体相同),但由于一些原因,效果适得其反
一种方法是,在源代码中,每个组件都setFont(font)
用特定的字体,也可以new Font("", Font.PLAIN, 12); 选个大号字,就好看一些
更好的,写个Theme,统一修改Font
我写了一个简单的SwingUtil类,提供一些实用的静态方法
/**
* UI中使用的默认字体
*/
private static final javax.swing.plaf.FontUIResource font =
new javax.swing.plaf.FontUIResource("", Font.PLAIN, 12);
/**
* 设置SwingUI,使用略微好看的中文字体
*/
public static void setTheme() {
try {
javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme
(new javax.swing.plaf.metal.DefaultMetalTheme() {
public javax.swing.plaf.FontUIResource getControlTextFont() {
return font;
}
public javax.swing.plaf.FontUIResource getMenuTextFont() {
return font;
}
});
UIManager.setLookAndFeel(
"javax.swing.plaf.metal.MetalLookAndFeel");
}
catch (Exception e) {
}
}