JMenu - 子菜单不会显示

JMenu - Submenus won't display

我刚开始使用 JMenu。单击按钮时,我希望菜单显示子菜单类别,如保管箱。

所以我的问题是,"Why isn't the submenu visible?"

相关代码请往下看

    // Frame title
    frame = new JFrame(NAME);
    frame.setSize(350, 250);
    frame.setVisible(true);

    // Add menu bar
    JMenuBar mb = new JMenuBar();


    // 1.0 Site Menu, S
    JMenu siteMenu = new JMenu("Site");
    siteMenu.setMnemonic(KeyEvent.VK_S);
    mb.add(siteMenu);

    // 1.1 Site->Website, W
    JMenuItem websiteMenu = new JMenuItem("Website", KeyEvent.VK_W);
    mb.add(websiteMenu);

    // 1.2 Site->Forum, F
    JMenuItem forumMenu = new JMenuItem("Forum", KeyEvent.VK_F);
    mb.add(forumMenu);

    // 2.0 Gallery Menu, G
    JMenu galleryMenu = new JMenu("Gallery");
    galleryMenu.setMnemonic(KeyEvent.VK_G);
    mb.add(galleryMenu);

    // 2.1 Gallery->Custom Skins, C
    JMenuItem skinsMenu = new JMenuItem("Custom Skins", KeyEvent.VK_C);
    mb.add(skinsMenu);

    // 3.0 Screenshot Menu, S
    JMenu screenshotMenu = new JMenu("Screenshot");
    screenshotMenu.setMnemonic(KeyEvent.VK_S);
    mb.add(screenshotMenu);


    // Sets the menubar for this frame
    frame.setJMenuBar(mb);

我已经尝试查找问题,但我似乎无法找到它..

您正在将 JMenuItem 对象直接添加到 JMenuBar。尝试将它们添加到您的 JMenu 对象中:

// 1.0 Site Menu, S
JMenu siteMenu = new JMenu("Site");
siteMenu.setMnemonic(KeyEvent.VK_S);
mb.add(siteMenu);

// 1.1 Site->Website, W
JMenuItem websiteMenu = new JMenuItem("Website", KeyEvent.VK_W);
siteMenu.add(websiteMenu);

// 1.2 Site->Forum, F
JMenuItem forumMenu = new JMenuItem("Forum", KeyEvent.VK_F);
siteMenu.add(forumMenu);

// and so on