Почему моя SWT Shell всегда появляется в фоновом режиме? - PullRequest
2 голосов
/ 06 июня 2009

Когда я запускаю свое приложение SWT из Eclipse, оболочка всегда запускается в фоновом режиме с IDE перед ним.

Я перепробовал все, например, настройку фокуса, активацию оболочки и т. Д.

Кто-то еще испытывал такое же поведение и, может быть, даже решил его?

Ответы [ 2 ]

3 голосов
/ 27 июля 2009

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

Если это является причиной вашей проблемы, вы можете использовать метод forceActive() класса Shell , чтобы заставить оболочку стать активной. Однако, в зависимости от вашего приложения, вы можете не захотеть применять этот подход. Ниже приводится предупреждение из статьи:

Большинство программ никогда не нужно использовать forceActive ()

Включение оболочки должно быть зарезервированы для тех случаев, когда вы должен привлечь внимание пользователя (что почти никогда) В конце концов, сделать тебе нравится, когда другое окно ворует ваши нажатия клавиш?

0 голосов
/ 07 июня 2009

Дважды проверьте свой манифест, чтобы увидеть, если вы что-то упустили. То есть, если вы делаете это через Eclipse RCP

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