2014-10-29 99 views
0

我有一個簡單的問題;我正在嘗試爲我的程序添加一個菜單。這是我迄今:JPopupMenu和JMenuItem一般用法

public static void main(String args[]){ 
    try { 
     UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 
    } catch (Exception e) {} 
    JFrame cipherGUIFrame = new CipherGUIFrame(); 
    cipherGUIFrame.setVisible(true); 

    JMenuBar bar = new JMenuBar();; 
    JMenu file = new JMenu("File"); 
    JMenu edit = new JMenu("Edit"); 
    JMenuItem open = new JMenuItem("Open"); 
    JMenuItem save = new JMenuItem("Save"); 

    JMenuItem cut = new JMenuItem("Cut"); 
    JMenuItem copy = new JMenuItem("Copy"); 
    JMenuItem paste = new JMenuItem("Paste"); 
    JSeparator sep = new JSeparator(); 
    JMenuItem find = new JMenuItem("Find"); 
    JPopupMenu options = new JPopupMenu("Options"); 
    options.setVisible(true); 

    file.add(open); 
    file.add(save); 

    edit.add(cut); 
    edit.add(copy); 
    edit.add(paste); 
    edit.add(sep); 
    edit.add(find); 
    edit.add(options); 

    bar.add(file); 
    bar.add(edit); 
    cipherGUIFrame.setJMenuBar(bar); 
} 

我想實現類似於本圖的效果:http://i.imgur.com/GYi0S9R.jpg

「選項」不是JPopupMenu嗎?它似乎沒有出現!或者它只是一個JMenuItem而JPopupMenu是當你將鼠標懸停在它上面時出現的新盒子?

+2

你的圖片實際上建議你想要一個'JMenu'內的'JMenu',而不是'JPopupMenu' – MadProgrammer 2014-10-29 23:12:35

回答

0

子菜單就是這樣,這是包含在另一個菜單中

使用類似嘗試菜單...

JMenu options = new JMenu("Options"); 
options.add(new JRadioButtonMenuItem("Forward")); 
options.add(new JRadioButtonMenuItem("Backward")); 
options.addSeparator(); 
options.add(new JCheckBoxMenuItem("Case Sensetive")); 

SubMenu

再仔細看看How to Use Menus更多細節