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

我有一个关于JOptionPane.showConfirmDialog的问题.
我得到的按钮是Yes,No和Cancel,但我想知道是否可以将这三个按钮本地化为我的语言?
我意识到我可以用我的JButton创建一个我自己的确认对话,但我想知道这是否可行.

提前致谢.

解决方法

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

Locale locale = new Locale("pt","BR");
JOptionPane.setDefaultLocale(locale);

如果你有一个单独的类来处理来自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());
    }
}

干杯!

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...