Google Web Toolkit 2 Application Development Cookbook
上QQ阅读APP看书,第一时间看更新

Adding menus

In this recipe, we will create a method getMenuBar that does the following:

  • Creates a menu bar
  • Creates menus
  • Creates menu items
  • Adds menu items in menus
  • Adds menus in the menu bar

How to do it...

Write the method header public MenuBar getMenuBar(), and do the following in the method body. Finally, this method should be called in the constructor of the class HomePage to add the menu bar in the application.

  1. Create an instance of MenuBar:
    MenuBar menuBar=new MenuBar();
    
  2. Create instances of Menu:
    Menu fileMenu=new Menu();
    Menu reportsMenu=new Menu();
    Menu helpMenu=new Menu();
    
  3. Create the menu items and add them in corresponding menus:
    //Items for File menu
    MenuItem productMenuItem=new MenuItem("Product");
    fileMenu.add(productMenuItem);
    MenuItem stockMenuItem=new MenuItem("Stock");
    fileMenu.add(stockMenuItem);
    MenuItem purchaseMenuItem=new MenuItem("Purchase");
    fileMenu.add(purchaseMenuItem);
    MenuItem salesMenuItem=new MenuItem("Sales");
    fileMenu.add(salesMenuItem);
    //Items for Reports menu
    MenuItem productListMenuItem=new MenuItem("Product List");
    reportsMenu.add(productListMenuItem);
    MenuItem stockStatusMenuItem=new MenuItem("Stock Status");
    reportsMenu.add(stockStatusMenuItem);
    MenuItem purchaseDetailMenuItem=new MenuItem( "Purchase Detail");
    reportsMenu.add(purchaseDetailMenuItem);
    MenuItem salesDetailMenuItem=new MenuItem("Sales Detail");
    reportsMenu.add(salesDetailMenuItem);
    //Items for Help menu
    MenuItem aboutMenuItem=new MenuItem("About");
    helpMenu.add(aboutMenuItem);
    
  4. Create the menu bar items:
    MenuBarItem menuBarItemFile=new MenuBarItem("File",fileMenu);
    MenuBarItem menuBarItemReports= new MenuBarItem("Reports",reportsMenu);
    MenuBarItem menuBarItemHelp= new MenuBarItem("Help",helpMenu);
    
  5. Add the menu bar items in menu bar:
    menuBar.add(menuBarItemFile);
    menuBar.add(menuBarItemReports);
    menuBar.add(menuBarItemHelp);
    
  6. Return the menu bar:
    return menuBar;
    

How it works...

The menu bar containing all the required menus with menu items is created in the following ways:

  1. MenuBar instance menuBar is created where the menu bar items will be added.
  2. Three menus are created for File, Reports, and Help.
  3. Menu items are created and added under corresponding menus.
  4. Three instances of MenuBarItem are created for the three menus.
  5. All of the menu bar items are added in the menu bar. Call this method in the HomePage constructor by writing add(getMenuBar, menuBarToolBarLayoutData).

 
Class           Package
MenuBar           com.extjs.gxt.ui.client.widget.menu
Menu           com.extjs.gxt.ui.client.widget.menu
MenuItem           com.extjs.gxt.ui.client.widget.menu
MenuBarItem           com.extjs.gxt.ui.client.widget.menu

See also

  • The Creating the home page layout class recipe
  • The Adding the banner recipe
  • The Creating the left-hand sidebar recipe
  • The Creating the right-hand sidebar recipe
  • The Creating the main content panel recipe
  • The Creating the footer recipe
  • The Using the HomePage instance in EntryPoint recipe