我使用了一个相当大的Java GUI应用程序(使用Swing),它有许多不同的字体和字体大小。
最近我们在我们的应用程序中添加了国际化,因此,对于某些语言,我需要更改字体以便能够编写不同的字符(许多字体不支持中文字符)并且所有字符适合屏幕(中文字符串可能比英文字符串更长/更短)。
是否有推荐的方法使我的应用程序的字体更“模块化”,因为缺少更好的词?
我是否应该使用某种静态FontManager类来获取所有字体?
例如,在我的应用程序中,我会得到这样的字体:
Font mainScreenTitleFont = FontManager.getMainScreenTitleFont()
,该方法看起来像这样(显然是伪代码):
public static Font getMainScreenTitleFont(){
if (language == Language.English)
return new Font("Arial", 25);
else if (language == Language.Chinese)
return new Font("FangSong", 30);
}
虽然这个想法可以实现我的目标,但我想知道是否有更好的方法来组织这样的系统?