Изменить имя AbstractAction

У меня есть JMenuItem, связанный с действием, которое я могу использовать item.getAction(), Имя действия задается при создании действия, например, с использованием анонимного new AbstractAction(String text, ...), Текстовое поле устанавливается в соответствии с ResourceBundle и информацией о локализации. Теперь, если я хочу изменить локализацию, я бы хотел изменить поле Action.NAME, чтобы оно отображало правильное локализованное имя. Я могу получить только имя, например, используя item.getAction().NAME но не может изменить поле, поскольку оно является окончательным.

Как я мог изменить его имя?

1 ответ

Решение

Последнее поле фактически является ключом для свойства name действия. Изменить имя свойства с помощью putValue()

action.putValue(Action.NAME, newName);
Другие вопросы по тегам