更改AbstractAction名称

rem*_*emi 2 java swing label jmenuitem abstract-action

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

我怎么能改变它的名字?

bow*_*ore 9

最后一个字段实际上是操作的name属性的键.使用更改名称属性putValue()

action.putValue(Action.NAME, newName);
Run Code Online (Sandbox Code Playgroud)