public class MenuTest {
public static void main(String[] args) {
Display display = new Display();//Create a display object
final Shell shell = new Shell(display);//shell is the main window of the program
shell.setText("Menu Example");
Menu mainMenu = new Menu(shell, SWT.BAR);
shell.setMenuBar(mainMenu);
//Menu mainMenu = new Menu(shell,SWT.POP_UP);//Create popup menu
//shell.setMenu (mainMenu);//Create popup menu
{
//"File" item
MenuItem fileItem = new MenuItem(mainMenu, SWT.CASCADE);
fileItem.setText("File&F");
//"File" menu
Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
fileItem.setMenu(fileMenu);
{
//"New" item
MenuItem newFileItem = new MenuItem(fileMenu, SWT.CASCADE);
newFileItem.setText("New&N");
//"New" menu
Menu newFileMenu = new Menu(shell, SWT.DROP_DOWN);
newFileItem.setMenu(newFileMenu);
{
//"New Project" item
MenuItem newProjectItem = new MenuItem(newFileMenu, SWT.PUSH);
newProjectItem.setText("Project\tCtrl+Shift+N");
//Set the shortcut key
newProjectItem.setAccelerator(SWT.CTRL+SWT. SHIFT+'N');
//Add event listener
newProjectItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
Text text = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.WRAP);
text.setBounds(10, 10, 100, 30);
text.setText("You selected "New item");
}
});
new MenuItem(newFileMenu, SWT.SEPARATOR);
//"Package" item
new MenuItem(newFileMenu, SWT.PUSH).setText("Package");
//"Class" item
new MenuItem(newFileMenu, SWT.PUSH).setText("class");
}
//"Open" item
MenuItem openFileItem = new MenuItem(fileMenu, SWT.CASCADE);
openFileItem.setText("Open&O");
//"Exit" item
MenuItem exitItem = new MenuItem(fileMenu, SWT.CASCADE);
exitItem.setText("Exit&E");
}
//"Help" item
MenuItem helpItem = new MenuItem(mainMenu, SWT.CASCADE);
helpItem.setText("Help&H");
}
shell.pack();
shell.open();
while(!shell.isDisposed()){//If the main form is not closed Then keep looping
if(!display.readAndDispatch()){//If display is not busy
display.sleep();//sleep
}
}
display.dispose();//destroy display
}
}