SWT: минимизация дочерних оболочек в Mac OS - PullRequest
1 голос
/ 27 марта 2012

У меня проблемы с поведением дочерних оболочек SWT в разных операционных системах.В Windows, когда я нажимаю на кнопку сворачивания дочерней оболочки, будет свернута только эта оболочка, то есть изменен размер / закреплен в нижнем левом углу экрана (что является предпочтительным поведением).В Linux дочерние оболочки сводятся к панели задач (что на самом деле не является проблемой).Однако в Mac OS X 10.5 сворачивание дочерней оболочки также приведет к сворачиванию родительского окна (что является проблемой).

Дочерние оболочки создаются просто путем передачи родителя в качестве аргумента конструктора, например:

Shell editor = new Shell(Display.getCurrent().getActiveShell());

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 27 марта 2012

Предполагается, что на разных платформах существует разное поведение управления окнами, которое не может быть ошибкой SWT. Можете ли вы гарантировать, что getActiveShell всегда возвращает общую родительскую оболочку?

Другое решение - просто скрыть дочерние оболочки - должно работать одинаково на всех платформах, но может не подходить в контексте вашего приложения.

В любом случае, я вижу множество вариантов замены нескольких дочерних оболочек. Может быть, TabFolder или ExpandBar могли бы подойти для этой работы? Получите обзор на странице виджетов .

Если эти опции невозможны, вы можете связаться с проектом SWT. Может быть, разработчики могут помочь вам с внутренней работой реализации Mac OS. Очень радикальным (и с обычной точки зрения ненужным) шагом будет перенос на Swing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...