Как закрыть окно JAVA SWT с помощью кнопки?



Будучи новичком в Java и имея многолетний опыт работы с iOS и .NET, я обнаружил, что это очень запутанно. То, что я хочу, я думал, будет очень просто - я хочу диалог (вызываемый из главного окна) с кнопками OK и Cancel. Когда вы нажимаете кнопку ОК, он что-то делает, а затем закрывает диалоговое окно. Когда вы нажимаете кнопку Отмена, он просто закрывает диалоговое окно.



Однако выполнение этого с помощью диалогового класса оболочки SWT не очевидно. Как вы получаете кнопку, чтобы закрыть диалоговое окно и вернуться выполнение обратно в Главное окно?

662   2  

2 ответов:

Используйте Shell.close() вместо dispose() - так shlCheckOut.close().

Shell.close отправляет событие SWT.Close, а затем вызывает dispose.

С некоторыми пробами и ошибками и множеством бесплодных поисков, я нашел в вашем коде кнопки, вы должны позвонить .метод dispose() переменной оболочки диалогового окна. Например, мой диалог CheckOutDialog, поэтому я назвал переменную оболочки shlCheckOut. В методе createContents() я помещаю код кнопки следующим образом:

...

Button btnCancel = new Button(shlCheckOut, SWT.NONE);
btnCancel.addSelectionListener(new SelectionAdapter() {
    @Override
        public void widgetSelected(SelectionEvent e) {
            shlCheckOut.dispose();
        }
    }
}

Comments

    Ничего не найдено.