2013-06-11 12 views
5

Sto lavorando su un'applicazione java con JFileChooser e l'utente è in grado di cambiare lingua.Localizzazione della stringa "Tutti i file" di 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); 

Il secondo selettore di file ad apparire è in cinese ad eccezione del "Tutti i file" stringa nella casella a discesa. Se commento la prima sezione di codice, il selettore di file appare correttamente con tutte le stringhe tradotte.

Si tratta di un bug in java o è necessario impostare le impostazioni internazionali da qualche altra parte?

Come posso visualizzare correttamente il selettore di file tradotto?

risposta

3

I found something that might help you here. Ecco come si cambia il "tutti i file" stringa:

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

Basta mettere questo diritto prima di impostare le impostazioni internazionali predefinite per Locale.CHINA. È triste che non sia cambiato nelle impostazioni internazionali, ma forse questo ti darà il lavoro che ti serve per farlo funzionare per te.

+1

La stringa è inclusa nelle impostazioni internazionali, ma per qualche motivo non viene aggiornata. Questo ha funzionato per me: 'UIManager.put (" FileChooser.acceptAllFileFilterText ", UIManager.get (" FileChooser.acceptAllFileFilterText ", Locale.CHINA));' – Kara

+3

Forse * è * un bug. –

+1

@Kara è un bug, infatti: il fileFile predefinito usato da BasicFileChooserUI non restituisce la versione localizzata della stringa, vedi http://stackoverflow.com/a/17446693/203657 – kleopatra

Problemi correlati