My code works correctly, except for the submenu. The "Import" button is supposed to expand into newsfeed, bookmarks, and mail. However, the program doesn't even display "Import". It displays the first submenu entry ("newsfeed") which cannot be hovered. What am I doing wrong?
import javax.swing.*;
import java.awt.event.*;
public class test extends JFrame{
private static final long serialVersionUID = 1L;
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
test ex = new test();
ex.setVisible(true);
}
});
}
public test()
{
initGUI();
}
public final void initGUI()
{
JMenuBar menubar = new JMenuBar();
ImageIcon exitIcon = new ImageIcon("icons/exit.png");
ImageIcon openIcon = new ImageIcon("icons/open.png");
ImageIcon newIcon = new ImageIcon("icons/new.png");
ImageIcon saveIcon = new ImageIcon("icons/save.png");
JMenu file = new JMenu("File");
JMenuItem importMenu = new JMenuItem("Import");
importMenu.setMnemonic(KeyEvent.VK_M);
JMenuItem newsfeedMenu = new JMenuItem("Import newsfeed list...");
JMenuItem bookmarksMenu = new JMenuItem("Import bookmarks...");
JMenuItem mailMenu = new JMenuItem("Import mail...");
importMenu.add(newsfeedMenu);
importMenu.add(bookmarksMenu);
importMenu.add(mailMenu);
JMenuItem newMenu = new JMenuItem("New", newIcon);
newMenu.setMnemonic(KeyEvent.VK_N);
newMenu.setToolTipText("Start new document");
JMenuItem openMenu = new JMenuItem("Open", openIcon);
openMenu.setMnemonic(KeyEvent.VK_O);
openMenu.setToolTipText("Open document");
JMenuItem saveMenu = new JMenuItem("Save", saveIcon);
saveMenu.setMnemonic(KeyEvent.VK_S);
saveMenu.setToolTipText("Save document");
JMenuItem exitMenu = new JMenuItem("Exit", exitIcon);
exitMenu.setMnemonic(KeyEvent.VK_X);
exitMenu.setToolTipText("Exit application");
exitMenu.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
System.exit(0);
}
});
exitMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,
KeyEvent.CTRL_MASK));
file.add(newMenu);
file.add(openMenu);
file.add(saveMenu);
file.addSeparator();
file.add(importMenu);
file.addSeparator();
file.add(exitMenu);
menubar.add(file);
setJMenuBar(menubar);
JPanel panel = new JPanel();
getContentPane().add(panel);
panel.setLayout(null);
JButton button = new JButton("Quit");
button.setBounds(100,60,80,40);
button.setToolTipText("Press");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event){
System.exit(0);
}
});
panel.add(button);
setSize(300, 200);
setTitle("testGUI");
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}