Search code examples
javaswinguser-interfacejmenujmenubar

Calling class with swing menu and menuitem objects


I need your help :). This is my first post here. I am trying to create a menu bar as a seperate class for my JFrame that I will call from separate class MainBar. How can I do that? I tried with the code listed below and calling new MainBar() but I always get just my JFrame with Menu without items on it.

Do I miss a return statement here? All tips are appreciated. Thanks!

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

}


Solution

  • Never mind I figured out the answer:

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

    Now when I call it from another class with MainBar mainBar = new MainBar(); it generates Menu Bar and all its elements. Thank you guys anyway!