Общее использование 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 — это новое поле, которое появляется, когда вы наводите на него курсор?


person Huang Lee    schedule 29.10.2014    source источник
comment
Ваша картина на самом деле предполагает, что вы хотите JMenu внутри JMenu, а не JPopupMenu   -  person MadProgrammer    schedule 30.10.2014


Ответы (1)


Подменю — это просто меню, которое содержится в другом меню.

Попробуйте использовать что-то вроде...

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

SubMenu

Дополнительные сведения см. в разделе Как использовать меню.

person MadProgrammer    schedule 29.10.2014