2011-07-14 18 views
0

サブメニューを除き、私のコードは正しく動作します。 「インポート」ボタンは、ニュースフィード、ブックマーク、メールに展開されるはずです。しかし、プログラムは "インポート"も表示しません。それは、ホバリングすることができない最初のサブメニュー項目(「ニュースフィード」)を表示します。私は間違って何をしていますか?Javaのサブメニューに問題があります

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

} 

答えて

5

JMenuの

JMenu importMenu = new JMenu("Import"); 
+0

1に変更し、それを、それはあなたの腹を満たしていないだろうが。 :( – mre

+0

ああ、それは私が逃したものです。ありがとう! –

関連する問題