I just began using JMenu. When the buttons are clicked, I want the menu to display a submenu category, like a dropbox.
So my question is, "Why isn't the submenu visible?"
Please look below for the relevant code.
// 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);
I have tried to lookup the issue, but I just can't seem to locate it..
You're adding the JMenuItem
objects directly to the JMenuBar
. Try adding them to your JMenu
objects instead:
// 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