Я всегда создавал панели меню следующим образом.
class MyMenuBar extends JMenuBar {
add(new FileItem())
}
class FileItem extends MenuItem {
addMenuItem(new ExitAction())
}
class ExitAction extends AbstractAction {
//define the action, tooltip and name of here
}
тогда в основном кадре вы просто добавляете к нему меню
JFrame myframe;
myFrame.setMenuBar(new MyMenuBar())
Некоторые из этого синтаксиса могут быть неправильными, я не писал меню в течение некоторого времени. Вы можете расширить его, добавив фабричные классы, которые возвращают ваши действия, чтобы их можно было многократно использовать, или использовали некоторую инфраструктуру DI, чтобы сделать то же самое