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
我刚开始使用 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