【问题标题】:JMenu - Submenus won't displayJMenu - 子菜单不会显示
【发布时间】:2015-10-24 10:48:47
【问题描述】:

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

所以我的问题是,“为什么子菜单不可见?”

请在下方查看相关代码。

    // 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);

我试图查找问题,但我似乎无法找到它..

【问题讨论】:

    标签: java submenu jmenu jmenuitem


    【解决方案1】:

    您将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
    

    【讨论】:

    • 嗯,它适用于我的设备。看看将frame.setVisible(true) 移到frame.setJMenuBar(mb) 之后是否有帮助。
    猜你喜欢
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2013-11-23
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    相关资源
    最近更新 更多