【问题标题】:Localizing the JFileChooser "All Files" string本地化 JFileChooser“所有文件”字符串
【发布时间】:2013-06-12 02:23:30
【问题描述】:

我正在开发一个带有 JFileChooser 的 java 应用程序,并且用户能够切换语言。

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

除了下拉框中的“All Files”字符串外,第二个出现的文件选择器是中文的。如果我注释掉代码的第一部分,则文件选择器会正确显示所有已翻译的字符串。

这是 java 中的错误还是我需要在其他地方设置语言环境?

如何让翻译后的文件选择器正确显示?

【问题讨论】:

    标签: java swing locale jfilechooser


    【解决方案1】:

    I found something that might help you here. 以下是更改“所有文件”字符串的方法:

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

    在您将默认语言环境设置为Locale.CHINA 之前,只需将其放在正确位置即可。它在语言环境中没有改变是很糟糕的,但也许这会给你解决你需要的工作来为你解决这个问题。

    【讨论】:

    • 字符串包含在语言环境中,但由于某种原因它没有被更新。这对我有用:UIManager.put("FileChooser.acceptAllFileFilterText",UIManager.get( "FileChooser.acceptAllFileFilterText", Locale.CHINA ));
    • @Kara 确实是一个错误:BasicFileChooserUI 使用的默认 fileFilter 不返回字符串的本地化版本,请参阅stackoverflow.com/a/17446693/203657
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    相关资源
    最近更新 更多