More Tutorials| Bioinformatics| Open Source| Photoshop| Questions? | Software Development
 

Create Menu Bar in SWT

In SWT, the classes Menu and MenuItem of package org.eclipse.swt.widgets is allowed to create a menu bar. The method setMenu() sets the pull down menu.

Create Menu Bar in SWT

                         

This section illustrates you how to create a menu bar.

In SWT, the classes Menu and MenuItem of package org.eclipse.swt.widgets is allowed to create a menu bar. The method setMenu() sets the pull down menu. The SWT.SEPERATOR separates the items of the menu. To perform an action on exitItem, the MenuItemListener class is called. 

 

 

Following code close the shell on clicking the exit item:

if (((MenuItem) event.widget).getText().equals("Exit")) {
        shell.close();
 }

Here is the code of MenuExample.java

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;

public class MenuExample {
  Display display;
  Shell shell;
  Menu menu, fileMenu, editMenu, viewMenu;

  public MenuExample() {
    display = new Display();
    shell = new Shell(display);
    shell.setText("Menu Example");
    shell.setSize(300200);

    menu = new Menu(shell, SWT.BAR);
    MenuItem fileItem = new MenuItem(menu, SWT.CASCADE);
    fileItem.setText("File");
    MenuItem editItem = new MenuItem(menu, SWT.CASCADE);
    editItem.setText("Edit");
    MenuItem viewItem = new MenuItem(menu, SWT.CASCADE);
    viewItem.setText("View");
    MenuItem helpItem = new MenuItem(menu, SWT.CASCADE);
    helpItem.setText("Help");

    Menu fileMenu = new Menu(menu);
    fileItem.setMenu(fileMenu);
    MenuItem newItem = new MenuItem(fileMenu, SWT.NONE);
    newItem.setText("New");
    MenuItem openItem = new MenuItem(fileMenu, SWT.NONE);
    openItem.setText("Open...");
    MenuItem saveItem = new MenuItem(fileMenu, SWT.NONE);
    saveItem.setText("Save");
    MenuItem saveAsItem = new MenuItem(fileMenu, SWT.NONE);
    saveAsItem.setText("Save As...");
    new MenuItem(fileMenu, SWT.SEPARATOR);
    MenuItem pageSetupItem = new MenuItem(fileMenu, SWT.NONE);
    pageSetupItem.setText("Page Setup...");
    MenuItem printItem = new MenuItem(fileMenu, SWT.NONE);
    printItem.setText("Print...");
    new MenuItem(fileMenu, SWT.SEPARATOR);
    MenuItem exitItem = new MenuItem(fileMenu, SWT.NONE);
    exitItem.setText("Exit");

    Menu editMenu = new Menu(menu);
    editItem.setMenu(editMenu);
    MenuItem cutItem = new MenuItem(editMenu, SWT.NONE);
    cutItem.setText("Cut");
    MenuItem pasteItem = new MenuItem(editMenu, SWT.NONE);
    pasteItem.setText("Paste");

    Menu viewMenu = new Menu(menu);
    viewItem.setMenu(viewMenu);
    MenuItem toolItem = new MenuItem(viewMenu, SWT.NONE);
    toolItem.setText("ToolBars");
    MenuItem fontItem = new MenuItem(viewMenu, SWT.NONE);
    fontItem.setText("Font");

    exitItem.addSelectionListener(new MenuItemListener());
  
    shell.setMenuBar(menu);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
   }
    class MenuItemListener extends SelectionAdapter {
    public void widgetSelected(SelectionEvent event) {
      if (((MenuItem) event.widget).getText().equals("Exit")) {
        shell.close();
      }
   }
  }
    public static void main(String[] args) {
    MenuExample example = new MenuExample();
  }
}

Output will be displayed as:

Download Source Code

                         

» View all related tutorials
Related Tags: c eclipse ide class button io swt get ip widgets order vi widget using cli border this id package rad

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
 
Tell A Friend
Your Friend Name

 
Recently Viewed
Software Solutions
Search Tutorials

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map | Privacy Policy

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.