Swing Action中的actionCommand似乎依赖于I18N

时间:2014-03-23 20:09:33

标签: java swing action

在Stack Overflow上我读了很多关于使用Swing Actions而不是ActionListeners的内容,所以我开始在应用程序的菜单中使用它们。

在我介绍I18N之前,一切都很顺利,但却发现MenuItem的actionCommand会相应地改变语言。

以下是我的工作:

class ExitAction extends AbstractAction {
    public void init() {
        putValue(Action.NAME, messageSource.getMessage("app.gui.action.exitApplication"));
    }
}

我的猜测是,我确实理解错了,这不是我想做的事情。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:3)

两件事......

首先,NAME会影响按钮的文本,但如果未指定,还会设置actionCommand。属性。相反,我认为你是在ACTION_COMMAND_KEY财产

之后

其次,实际上应该没有必要,因为Action是自包含的,帽子是,它是自己的ActionListener,所以当actionPerformed是在Action上呼叫,您可以保证关联