我有一个JMenuItem绑定到一个Action,我可以使用item.getAction()
。动作名称在构建动作时被设置,例如,使用匿名new AbstractAction(String text, ...)
。文本字段根据ResourceBundle和本地化信息设置。现在,如果我想更改本地化,我想更改Action.NAME字段,以便显示正确的本地化名称。我只能得到这个名字,例如使用item.getAction().NAME
但不能更改字段,因为它是最终的。更改AbstractAction名称
我该如何改变它的名字?
请为什么'cbut改变不了场,因为它是final.'c name属性,无法创建本地变量 – mKorbel
'行动#NAME'是由所用的关键'Action'来存储其他组件可以用作显示值的值(通过使用'Action#getValue(Action.NAME)')。您可以使用操作的“putValue”来更改名称,使用“Action.NAME”作为键,文本作为要使用的名称。仔细看看[使用操作](http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html) – MadProgrammer