Вы добавляете меню в frame
, которое никогда не добавляется ни в один пользовательский интерфейс.Замените
frame.setJMenuBar(menuBar);
на
setJMenuBar(menuBar);
, и ваша строка меню станет видимой.Или вы должны добавить frame
в пользовательский интерфейс.Не уверен, чего вы пытались достичь.
И вы должны обернуть код вашего основного метода в Runnable
и выполнить его в EDT (например, используя EventQueue.invokeLater
)