import java.lang.reflect.InvocationTargetException;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;

public class JMenuBarTest {

    private static JFrame frame;

    public void createTestUI() throws InterruptedException, InvocationTargetException {
        SwingUtilities.invokeAndWait(() -> {
            frame = new JFrame();

            JMenu file = new JMenu("File");
            file.getAccessibleContext().setAccessibleName("File Menu " +
                    "accessibility name");

            JMenuItem open = new JMenuItem("Open...");
            open.getAccessibleContext().setAccessibleName("Open menuItem " +
                    "accessibility Name");

            JMenuItem quit = new JMenuItem("Quit");
            quit.getAccessibleContext().setAccessibleName("Quit menuItem " +
                    "accessibility Name");

            file.add(open);
            file.add(quit);


            JMenu edit = new JMenu("Edit");
            edit.getAccessibleContext().setAccessibleName("Edit Menu " +
                    "accessibility Name");

            JMenuItem cut = new JMenuItem("Cut");
            cut.getAccessibleContext().setAccessibleName("Cut menuItem " +
                    "accessibility Name");

            edit.add(cut);

            JMenuBar jMenuBar = new JMenuBar();
            jMenuBar.getAccessibleContext().setAccessibleName("menuBar " +
                    "accessibility name");
            jMenuBar.add(file);
            jMenuBar.add(edit);

            frame.setJMenuBar(jMenuBar);
            frame.setSize(200, 200);
            frame.setLocationRelativeTo(null);
            frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            frame.setVisible(true);
        });
    }

    public static void main(String[] args) throws InterruptedException, InvocationTargetException {
        JMenuBarTest jMenuBarTest = new JMenuBarTest();
        jMenuBarTest.createTestUI();
    }
}

