SWT MenuBar в Mac OS X

У меня есть инструмент с простой строкой меню. Так оно и есть на Windows, но не на Mac. На Mac, когда я открываю окно "О программе", меню исчезает. На Windows это нормально, но на Mac меню всегда должно быть видно. Как мне этого добиться?

Мой код: (обратите внимание, он находится в стадии разработки)

        Menu menuBar = new Menu(newShell, SWT.BAR);
        MenuItem cascadeFileMenu = new MenuItem(menuBar, SWT.CASCADE);
        cascadeFileMenu.setText("&File");

        Menu fileMenu = new Menu(newShell, SWT.DROP_DOWN);
        cascadeFileMenu.setMenu(fileMenu);

        MenuItem exitItem = new MenuItem(fileMenu, SWT.PUSH);
        exitItem.setText("&Exit");

        exitItem.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                getShell().getDisplay().dispose();
                System.exit(0);
            }
        });

        MenuItem cascadeManageMenu = new MenuItem(menuBar, SWT.CASCADE);
        cascadeManageMenu.setText("&Manage");

        Menu manageMenu = new Menu(newShell, SWT.DROP_DOWN);
        cascadeManageMenu.setMenu(manageMenu);

        MenuItem branchItem = new MenuItem(manageMenu, SWT.PUSH);
        branchItem.setText("&Branch Priority");

        MenuItem libraryItem = new MenuItem(manageMenu, SWT.PUSH);
        libraryItem.setText("&Library Priority");

        MenuItem blankItem = new MenuItem(manageMenu, SWT.PUSH);
        blankItem.setText("");
        blankItem.setEnabled(false);

        MenuItem historyItem = new MenuItem(manageMenu, SWT.PUSH);
        historyItem.setText("&Test Run History");

        MenuItem cascadeAboutMenu = new MenuItem(menuBar, SWT.CASCADE);
        cascadeAboutMenu.setText("&About");

        Menu aboutMenu = new Menu(newShell, SWT.DROP_DOWN);
        cascadeAboutMenu.setMenu(aboutMenu);

        MenuItem aboutItem = new MenuItem(aboutMenu, SWT.PUSH);
        aboutItem.setText("&About Library Test Manager");
        aboutItem.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                AboutWindow aboutWindow = new AboutWindow();
                aboutWindow.open(); 
            }
        });

        newShell.setMenuBar(menuBar);

0 ответов

Другие вопросы по тегам