5
私はJFileChooserを使用してJavaアプリケーションを開発しており、ユーザーは言語を切り替えることができます。JFileChooser "All Files"文字列のローカライズ
Locale.setDefault(Locale.ENGLISH);
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
Locale.setDefault(Locale.CHINA);
JFileChooser.setDefaultLocale(Locale.CHINA);
JFileChooser chinese_chooser = new JFileChooser();
chinese_chooser.showOpenDialog(null);
表示される2番目のファイルチューザは、ドロップダウンボックスの[すべてのファイル]文字列を除いて中国語です。私がコードの最初のセクションをコメントアウトすると、すべての文字列が翻訳されたファイルチューザーが正しく表示されます。
これはJavaのバグですか、それとも別の場所に設定する必要がありますか?
翻訳されたファイルチューザが正しく表示されるようにするにはどうすればよいですか?あなたはLocale.CHINA
にデフォルトのロケールを設定する前に、ちょうどこの権利を置く
UIManager.put("FileChooser.acceptAllFileFilterText","abc4");
:
文字列はロケールに含まれていますが、何らかの理由で更新されていません。これは私のために働いた: 'UIManager.put(" FileChooser.acceptAllFileFilterText "、UIManager.get(" FileChooser.acceptAllFileFilterText "、Locale.CHINA)); ' – Kara
おそらく*バグです。 –
@Karaバグです。実際には、BasicFileChooserUIで使用されるデフォルトのfileFilterは、ローカライズされたバージョンの文字列を返しません。http://stackoverflow.com/a/17446693/203657を参照してください。 – kleopatra