Example usage for org.eclipse.swt.widgets Display getMenuBar

List of usage examples for org.eclipse.swt.widgets Display getMenuBar

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Display getMenuBar.

Prototype

public Menu getMenuBar() 

Source Link

Document

Returns the single instance of the application menu bar or null when there is no application menu bar for the platform.

Usage

From source file:org.eclipse.swt.snippets.Snippet347.java

public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 347");
    shell.setLayout(new GridLayout(1, false));
    Menu appMenuBar = display.getMenuBar();
    if (appMenuBar == null) {
        appMenuBar = new Menu(shell, SWT.BAR);
        shell.setMenuBar(appMenuBar);//from w  w  w.ja va2  s .c o m
    }
    MenuItem file = new MenuItem(appMenuBar, SWT.CASCADE);
    file.setText("File");
    Menu dropdown = new Menu(appMenuBar);
    file.setMenu(dropdown);
    MenuItem exit = new MenuItem(dropdown, SWT.PUSH);
    exit.setText("Exit");
    exit.addSelectionListener(widgetSelectedAdapter(e -> display.dispose()));
    Button b = new Button(shell, SWT.PUSH);
    b.setText("Test");
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet354.java

public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 354");
    shell.setLayout(new GridLayout(1, false));

    Menu appMenuBar = display.getMenuBar();
    if (appMenuBar == null) {
        appMenuBar = new Menu(shell, SWT.BAR);
        shell.setMenuBar(appMenuBar);/*from w w w.  ja v a  2s  . c  o m*/
    }
    MenuItem file = new MenuItem(appMenuBar, SWT.CASCADE);
    file.setText("File");
    Menu dropdown = new Menu(appMenuBar);
    file.setMenu(dropdown);
    MenuItem exit = new MenuItem(dropdown, SWT.PUSH);
    exit.setText("Exit");
    exit.addSelectionListener(widgetSelectedAdapter(e -> display.dispose()));

    Listener keyDownFilter = event -> System.out.println("Key event!");
    display.addFilter(SWT.KeyDown, keyDownFilter);
    display.addFilter(SWT.KeyUp, keyDownFilter);

    ArmListener armListener = e -> System.out.println(e);

    Menu systemMenu = display.getSystemMenu();
    if (systemMenu != null) {
        systemMenu.addMenuListener(new MenuListener() {
            @Override
            public void menuHidden(MenuEvent e) {
                System.out.println("App menu closed");
            }

            @Override
            public void menuShown(MenuEvent e) {
                System.out.println("App menu opened");
            }
        });

        MenuItem sysItem = getItem(systemMenu, SWT.ID_QUIT);
        sysItem.addArmListener(armListener);
        sysItem.addSelectionListener(widgetSelectedAdapter(e -> System.out.println("Quit selected")));
        sysItem = getItem(systemMenu, SWT.ID_HIDE_OTHERS);
        sysItem.addArmListener(armListener);
        sysItem.addSelectionListener(widgetSelectedAdapter(e -> {
            System.out.println("Hide others selected -- and blocked!");
            e.doit = false;
        }));
        sysItem = getItem(systemMenu, SWT.ID_HIDE);
        sysItem.addArmListener(armListener);
        sysItem.addSelectionListener(widgetSelectedAdapter(e -> {
            System.out.println("Hide selected -- and blocked!");
            e.doit = false;
        }));
        sysItem = getItem(systemMenu, SWT.ID_PREFERENCES);
        sysItem.addArmListener(armListener);
        sysItem.addSelectionListener(widgetSelectedAdapter(e -> System.out.println("Preferences selected")));
        sysItem = getItem(systemMenu, SWT.ID_ABOUT);
        sysItem.addArmListener(armListener);
        sysItem.addSelectionListener(widgetSelectedAdapter(e -> System.out.println("About selected")));

        int prefsIndex = systemMenu.indexOf(getItem(systemMenu, SWT.ID_PREFERENCES));
        MenuItem newAppMenuItem = new MenuItem(systemMenu, SWT.CASCADE, prefsIndex + 1);
        newAppMenuItem.setText("SWT-added item");
        newAppMenuItem.setAccelerator(SWT.MOD1 | 'i');
        newAppMenuItem.addArmListener(armListener);
        newAppMenuItem.addSelectionListener(
                widgetSelectedAdapter(e -> System.out.println("SWT-added item selected")));
        Menu subMenu = new Menu(systemMenu);

        for (int i = 0; i < 4; i++) {
            MenuItem subItem = new MenuItem(subMenu, SWT.PUSH);
            subItem.setText("Item " + i);
        }
        newAppMenuItem.setMenu(subMenu);
    }
    Button b = new Button(shell, SWT.PUSH);
    b.setText("Test");
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet348.java

static Shell createShell() {
    final Shell shell = new Shell(SWT.SHELL_TRIM);
    shell.setText("Snippet 348");
    createMenuBar(shell);//  w ww  .  ja  v  a2 s .  c o  m

    shell.addDisposeListener(e -> {
        Display d = Display.getCurrent();
        Menu bar = d.getMenuBar();
        boolean hasAppMenuBar = (bar != null);
        if (!hasAppMenuBar) {
            shell.getMenuBar().dispose();
            Shell[] shells = d.getShells();
            if ((shells.length == 1) && (shells[0] == shell)) {
                if (!d.isDisposed())
                    d.dispose();
            }
        }
    });

    return shell;
}