我正在开发应该支持英语、俄语和韩语的 Java 应用程序。
所以我为每种语言准备了 unicode 的属性文件。然后我使用 bundle 中的 _ 函数获取一些字符串值,将其设置为
- JLabel
- 文本区域
InputStream stream = LocaleManager.class.getClassLoader().getResourceAsStream(path);
ResourceBundle bundle = new PropertyResourceBundle(new InputStreamReader(stream, "UTF-8"));
public static String _(String key) {
return bundle.getString(key);
}
对于英语和俄语来说,它完美无缺。对于韩语 JTextArea 正确显示韩语字符,但 JLabel 不正确。它显示正方形,在 Eclipse 控制台中显示 ??,但是俄罗斯字符可以在 Eclipse 控制台中正确显示。
所以 JLabel 似乎有问题。