Согласно документации для JMenu.add (Action) , он создаст для вас новый пункт меню, поэтому они по сути одинаковы.Так что в конечном итоге это удобный метод.
Однако в нем также говорится:
Начиная с версии 1.3, этот метод больше не является предпочтительным для добавления действий в контейнер.Вместо этого рекомендуется настроить элемент управления с действием с помощью setAction, а затем добавить этот элемент управления непосредственно в контейнер.
И если мы посмотрим на исходный код для JMenu (полученный из GoogleПоиск кода ), вот как выглядит метод add(Action)
:
public JMenuItem add(Action a) {
JMenuItem mi = createActionComponent(a);
mi.setAction(a);
add(mi);
return mi;
}
Так что нет большой разницы.Но я все равно следовал бы рекомендациям документации, так или иначе сделав ручное управление.