我可以本地化JOptionPane是/否/取消选项吗?

Nik*_*ric 3 java swing localization confirmation joptionpane

我对此有疑问JOptionPane.showConfirmDialog.我得到的按钮Yes,NoCancel,但我想知道是否有可能以这三个按钮定位到我的语言?我意识到我可以创建一个我自己的确认对话,JButtons但我想知道这是否可行.

提前致谢.

jfa*_*ior 9

简单的方法是使用所需的语言环境设置JOptionPane,如下所示:

Locale locale = new Locale("pt","BR");
JOptionPane.setDefaultLocale(locale);
Run Code Online (Sandbox Code Playgroud)

如果你有一个单独的类来处理来自ResourceBundle的所有消息,那么你只需要在语言环境初始化中设置一次.例如:

public void setLocale(Locale locale) {
    if (_bundle == null || !locale.equals(_locale)) {
        _locale = locale;
        _bundle = ResourceBundle.getBundle("resources.i18n.MessagesBundle", locale);

        JOptionPane.setDefaultLocale(_locale);

        _logger.info("Got new resource bundle for language-country: " + _locale.getLanguage() + "-" +
                locale.getCountry());
    }
}
Run Code Online (Sandbox Code Playgroud)

干杯!

  • 这是完美的,是最简单,最干净的方式.只有一行,为什么这不被接受或最高投票? (2认同)