我有一個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