Вызов класса с объектами свинг-меню и пунктов меню

1

Мне нужна ваша помощь :). Это мой первый пост здесь. Я пытаюсь создать панель меню в качестве отдельного класса для моего JFrame, который я вызову из отдельного класса MainBar. Как я могу это сделать? Я пробовал с приведенным ниже кодом и вызывая новый MainBar(), но я всегда получаю только свой JFrame с меню без элементов на нем.

Я пропустил здесь выражение о возврате? Все советы приветствуются. Благодарю!

public class MainBar extends JMenu{

    public  MainBar() { //What is return from this method? Component?


    // Bar Menu
    final WebMenuBar mainBar = new WebMenuBar();
    mainBar.setMenuBarStyle(MenuBarStyle.standalone);

    // Bar Menu Items
    JMenu fileMenu = new JMenu("File");
    JMenuItem exitMenuItem = new JMenuItem("Exit");
    fileMenu.add(exitMenuItem);

    JMenu editMenu = new JMenu("Edit");
    JMenuItem cutMenuItem = new JMenuItem("Cut");
    editMenu.add(cutMenuItem);
    JMenuItem copyMenuItem = new JMenuItem("Copy");
    editMenu.add(copyMenuItem);

    JMenu viewMenu = new JMenu("View");
    JMenu settingsMenu = new JMenu("Settings");
    JMenu helpMenu = new JMenu("Help");

    // adding menu items to bar menu
    mainBar.add(fileMenu);
    mainBar.add(editMenu);
    mainBar.add(viewMenu);
    mainBar.add(settingsMenu);
    mainBar.add(helpMenu);

   // should I put here return statement like return mainBar; ?
}

}

  • 0
    На первый взгляд кажется, что вы создаете его в соответствии с самим классом меню. Есть ли другой код, который генерирует меню перед этим, которое вы можете увидеть? Проверьте этот предыдущий вопрос для примеров, stackoverflow.com/questions/7555677/…
  • 0
    Спасибо за ваш ответ. Нет, это единственный код, который генерирует JMenu и JMenuItems. Если он в одном классе с JFrame, то он работает и показывает меню и элементы в нормальном режиме. Этот пример по ссылке мне совсем не помогает, другая история :-)
Теги:
user-interface
swing
jmenu
jmenubar

1 ответ

0
Лучший ответ

Неважно, я понял ответ:

public class MainBar extends WebMenuBar{

public  MainBar() { 


// Bar Menu
final WebMenuBar mainBar = new WebMenuBar();
mainBar.setMenuBarStyle(MenuBarStyle.standalone);

// Bar Menu Items
JMenu fileMenu = new JMenu("File");
JMenuItem exitMenuItem = new JMenuItem("Exit");
fileMenu.add(exitMenuItem);

JMenu editMenu = new JMenu("Edit");
JMenuItem cutMenuItem = new JMenuItem("Cut");
editMenu.add(cutMenuItem);
JMenuItem copyMenuItem = new JMenuItem("Copy");
editMenu.add(copyMenuItem);

JMenu viewMenu = new JMenu("View");
JMenu settingsMenu = new JMenu("Settings");
JMenu helpMenu = new JMenu("Help");

// adding menu items to bar menu
add(fileMenu);
add(editMenu);
add(viewMenu);
add(settingsMenu);
add(helpMenu);


}

Теперь, когда я называю это из другого класса с MainBar mainBar = new MainBar(); он создает панель меню и все ее элементы. Благодарю вас, ребята!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню