私は英語、ロシア語、韓国語をサポートするJavaアプリケーションに取り組んでいます。
そこで、言語ごとにユニコードでプロパティファイルを用意しました。次に、バンドルから_関数を使用して文字列値を取得し、次のように設定します。
- JLabel
- JTextArea
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に問題があるようです。