2013-06-11 53 views
5

我正在使用JFileChooser處理Java應用程序,並且用戶能夠切換語言。本地化JFileChooser「所有文件」字符串

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); 

第二個文件選擇出現在中國,除了在下拉框中選擇「所有文件」的字符串。如果我註釋掉代碼的第一部分,則文件選擇器在翻譯完所有字符串後顯示正確。

這是一個在Java中的錯誤,或者我需要設置其他地方的語言環境?

如何才能讓翻譯文件選擇器正確顯示?

回答

3

I found something that might help you here.這裏是你如何改變「所有文件」字符串:您設置的默認區域設置Locale.CHINA

UIManager.put("FileChooser.acceptAllFileFilterText","abc4"); 

只是把這個權利。這是蹩腳的,它沒有改變的地方,但也許這會給你周圍的工作需要這個爲你解決。

+1

該字符串包含在區域設置中,但由於某種原因它未被更新。這對我工作:'UIManager.put(「FileChooser.acceptAllFileFilterText」,UIManager.get(「FileChooser.acceptAllFileFilterText」,Locale.CHINA));' – Kara

+3

也許它*是一個錯誤。 –

+1

@Kara這是一個錯誤,的確如此:BasicFileChooserUI使用的默認fileFilter不返回字符串的本地化版本,請參閱http://stackoverflow.com/a/17446693/203657 – kleopatra

相關問題