Изменить имя AbstractAction
У меня есть JMenuItem, связанный с действием, которое я могу использовать item.getAction()
, Имя действия задается при создании действия, например, с использованием анонимного new AbstractAction(String text, ...)
, Текстовое поле устанавливается в соответствии с ResourceBundle и информацией о локализации. Теперь, если я хочу изменить локализацию, я бы хотел изменить поле Action.NAME, чтобы оно отображало правильное локализованное имя. Я могу получить только имя, например, используя item.getAction().NAME
но не может изменить поле, поскольку оно является окончательным.
Как я мог изменить его имя?
1 ответ
Решение
Последнее поле фактически является ключом для свойства name действия. Изменить имя свойства с помощью putValue()
action.putValue(Action.NAME, newName);