更改AbstractAction名称

时间:2013-02-05 10:51:11

标签: java swing label jmenuitem abstract-action

我有一个JMenuItem绑定到一个Action,我可以使用item.getAction()。在构造Action时设置动作名称,例如使用匿名new AbstractAction(String text, ...)。根据ResourceBundle和本地化信息设置文本字段。现在,如果我想更改本地化,我想更改Action.NAME字段,以便显示正确的本地化名称。我只能得到这个名字,例如使用item.getAction().NAME但不能更改字段,因为它是最终的。

我怎么能改名呢?

1 个答案:

答案 0 :(得分:9)

最后一个字段实际上是操作的name属性的键。使用putValue()

更改名称属性
action.putValue(Action.NAME, newName);