java - Swing 组件如何考虑我的默认区域设置?

标签 java swing locale

我的默认区域设置是法语,但我的应用程序中的组件仍然是英语。

System.out.println(UIManager.getLookAndFeelDefaults().getDefaultLocale()); // => fr_FR
System.out.println(System.getProperty("user.language")); // => fr

例如,我的JFileChooser:

JFileChooser

有什么问题吗?有没有办法强制组件语言值?

我使用的是 Java 11、Eclipse、Windows 7。

最佳答案

JFileChooser 用作内容 Pane sun.swing.FilePane。如果您看一下 this classinstallDefaults() 方法你会发现以下评论:

 // TODO: On windows, get the following localized strings from the OS

这意味着它尚未实现(而且我认为它永远不会实现)。

因此,您唯一能做的(不幸的是)就是使用 UIManager 键手动更改它们:

FileChooser.viewMenuLabelText
FileChooser.refreshActionLabelText
FileChooser.newFolderActionLabelText
FileChooser.listViewActionLabelText
FileChooser.detailsViewActionLabelText
FileChooser.fileSizeKiloBytes
FileChooser.fileSizeMegaBytes
FileChooser.fileSizeGigaBytes
FileChooser.renameErrorTitleText
FileChooser.renameErrorText
FileChooser.renameErrorFileExistsText
FileChooser.lookInLabelText
FileChooser.fileNameLabelText
FileChooser.filesOfTypeLabelText
FileChooser.upFolderToolTipText
FileChooser.newFolderToolTipText
FileChooser.viewMenuButtonToolTipText
FileChooser.saveButtonText
FileChooser.openButtonText
FileChooser.cancelButtonText
FileChooser.updateButtonText
FileChooser.helpButtonText
FileChooser.directoryOpenButtonText
FileChooser.saveButtonToolTipText
FileChooser.openButtonToolTipText
FileChooser.cancelButtonToolTipText
FileChooser.updateButtonToolTipText
FileChooser.helpButtonToolTipText
FileChooser.directoryOpenButtonToolTipText
FileChooser.saveDialogTitleText
FileChooser.openDialogTitleText

例如:

//google translate :)
UIManager.put("FileChooser.newFolderActionLabelText", "créer un nouveau dossier"); 

还有方法JFileChoose#setApproveButtonText ,但我认为这不能满足您的需求。

关于java - Swing 组件如何考虑我的默认区域设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58873985/

相关文章:

java - 如何允许用户编辑 JTable 中的单行?

java - 编写遵循 LayoutManager 规范的自定义 JPanel

java - 管理动态本地化资源

java - 当集合没有重写 toString() 时,如何打印集合子类内容?

java - 对 Java 和 Kotlin 友好的 Kotlin 监听器

java - 调用父方法而不是被覆盖的方法

java - 双色 JComboBox 文本

java - 如何在android应用程序中设置可点击的链接?

java - 条件接口(interface)实现

ruby-on-rails - Rspec View 规范被 default_locale 破坏