Когда вы активируете Оболочку (обычно с помощью метода open()
), SWT запрашивает у диспетчера окон на данной платформе активацию оболочки. Однако, в зависимости от оконного менеджера, оболочка может не стать самой верхней оболочкой на рабочем столе. Вот статья с интересной информацией об открытии оболочек (см. Раздел «11.4.6 Открытие оболочки»).
Если это является причиной вашей проблемы, вы можете использовать метод forceActive()
класса Shell , чтобы заставить оболочку стать активной. Однако, в зависимости от вашего приложения, вы можете не захотеть применять этот подход. Ниже приводится предупреждение из статьи:
Большинство программ никогда не нужно использовать
forceActive ()
Включение оболочки должно быть
зарезервированы для тех случаев, когда вы
должен привлечь внимание пользователя
(что почти никогда) В конце концов, сделать
тебе нравится, когда другое окно ворует
ваши нажатия клавиш?