Swing组件如何考虑我的默认语言环境?

问题描述 投票:0回答:1

我的默认语言环境是法语,但是我的应用程序中的组件仍然是英语。

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

例如,我的JFileChooser

JFileChooser

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

我正在使用Java 11,Eclipse,Windows 7。

java swing locale
1个回答
2
投票

JFileChooser用作内容窗格sun.swing.FilePane。如果查看installDefaults()this class方法,您会发现以下注释:

 // 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,但我认为这不能满足您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.